Share via


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

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns

SetThreadpoolCallbackRunsLong

線程集區

TrySubmitThreadpoolCallback