CreateFiber

【勇芳软件工作室】汉化HomePreviousNext

CreateFiber功能分配光纤对象,为其分配堆栈,并将其设置为以指定的起始地址(通常为光纤功能)开始执行。此函数不计划光纤。

LPVOID CreateFiber(

DWORD 【dwStackSize】,//初始线程堆栈大小,以字节为单位
LPFIBER_START_ROUTINE 【lpStartAddress】,//指向光纤功能的指针
LPVOID 【lpParameter参数】//新的纤维参数
); 

参数

【dwStackSize】

指定新光纤的堆栈大小(以字节为单位)。如果指定为零,则堆栈大小默认为与主线程大小相同的大小。如果无法提交【dwStackSize】字节,则该函数将失败。请注意,如果需要,系统会动态增加堆栈大小。当线程终止时,堆栈被释放。

【lpStartAddress】

指向由光纤执行的应用程序提供的功能,并表示光纤的起始地址。该函数接受一个参数,不返回值。新创建的光纤的执行不会开始,直到另一个光纤使用该地址调用SwitchToFiber功能。

【lpParameter参数】

指定传递给光纤的单个参数。该值可以使用GetFiberData功能由光纤检索。

返回值

如果功能成功,返回值就是光纤的地址。

如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.

备注

在线程可以使用SwitchToFiber 功能调度光纤之前,必须调用ConvertThreadToFiber 功能,因此有一条光纤与线程相关联。

光纤功能的类型为FIBER_START_ROUTINE。它接受PVOID类型(光纤数据)的单个值,并且不返回值。该函数的原型如下:

VOID WINAPI FiberFunc( PVOID lpParameter );

也可以看看

ConvertThreadToFiber,GetFiberData, SwitchToFiber