CallbackMayRunLong 函式 (threadpoolapiset.h)
表示回呼可能不會快速傳回。
語法
BOOL CallbackMayRunLong(
[in, out] PTP_CALLBACK_INSTANCE pci
);
參數
[in, out] pci
定義回呼實例 之TP_CALLBACK_INSTANCE 結構的指標。 指標會傳遞至回呼函式。
傳回值
如果線程集區中的另一個線程可用於處理回呼,或線程集區能夠建立新的線程,則函式會傳回 TRUE。 在此情況下,目前的回呼函式可能會無限期地使用目前的線程。
如果線程集區中的另一個線程無法處理回呼,且線程集區無法建立新的線程,則函式會傳回 FALSE。 線程集區會在延遲之後嘗試建立新的線程,但如果目前的回呼函式執行很長,線程集區可能會失去效率。
備註
線程集區可能會使用此資訊來更妥善地判斷何時應該建立新的線程。
CallbackMayRunLong 函式應該只由處理回呼的線程呼叫。 從另一個線程呼叫此函式可能會導致競爭狀況。
CallbackMayRunLong 函式一律會將回呼標示為長時間執行,不論線程是否可用於處理回呼,還是線程集區能夠配置新的線程。 因此,即使函式傳回 FALSE,也應該只呼叫一次。
若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為0x0600或更高版本。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | threadpoolapiset.h (Windows 7、Windows Server 2008 Windows Server 2008 R2) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |
另請參閱
DisassociateCurrentThreadFromCallback
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns