Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 google 中搜索过,但找不到如何将自己的函数添加到 Threadpool。我有一个带有签名的功能void MyFunction(void *param);。我如何创建线程池并添加此函数以进行异步执行。我知道存在TrySubmitThreadpoolCallback()功能,但我不明白如何使用它。我会很高兴看到简单的例子。
void MyFunction(void *param);
TrySubmitThreadpoolCallback()
为了能够使用TrySubmitThreadpoolCallback,您应该将函数的签名更改为
TrySubmitThreadpoolCallback
void CALLBACK MyFunction( PTP_CALLBACK_INSTANCE Instance, void* Context );
然后你可以毫无问题地使用它。请记住,在 Windows 中,大多数回调应该CALLBACK在其定义中包含 ,因为 C 中的默认调用约定是,__cdecl但在 Windows API 中通常是__stdcall(阅读它CALLBACK)。
CALLBACK
__cdecl
__stdcall