CreateFiber (Compact 2013)

3/28/2014

This function allocates a fiber object, assigns it a stack, and sets up execution to begin at the specified start address, typically the fiber function.

This function does not schedule the fiber.

Syntax

LPVOID WINAPI CreateFiber(
  DWORD dwStackSize,
  LPFIBER_START_ROUTINE lpStartAddress,
  LPVOID lpParameter
);

Parameters

  • dwStackSize
    This argument is ignored in Windows Embedded Compact. Fiber always uses the process stack size.
  • lpStartAddress
    [in] Pointer to the application-defined function of type LPFIBER_START_ROUTINE to be executed by the fiber; represents the starting address of the fiber.

    Execution of the new fiber does not begin until another fiber calls the SwitchToFiber function with this address.

  • lpParameter
    [in] Specifies a single argument that is passed to the fiber.

    This value can be retrieved by the fiber using the GetFiberData macro.

Return Value

The address of the fiber indicates success. NULL indicates failure. To get extended error information, call GetLastError.

Remarks

In Windows Embedded Compact, dwStackSize must be set to zero.

Before a thread can schedule a fiber using the SwitchToFiber function, it must call the ConvertThreadToFiber function so a fiber is associated with the thread.

A thread can be converted to a fiber even if the stack size of the thread is different from the process default stack size set by the /STACK linker setting.

Requirements

Header

winbase.h

Library

coredll.lib

See Also

Reference

Fiber Functions
FiberProc
SwitchToFiber
ConvertThreadToFiber
GetFiberData