設定 wait 物件,並取代先前的等候物件,如果有的話。 背景工作線程會在句柄收到訊號或指定的逾時到期之後,呼叫等候物件的回呼函式。
語法
VOID SetThreadpoolWait(
[in, out] PTP_WAIT pwa,
[in, optional] HANDLE h,
[in, optional] PFILETIME pftTimeout
);
參數
[in, out] pwa
定義等候物件之 TP_WAIT 結構的指標。 CreateThreadpoolWait 函式會傳回此指標。
[in, optional] h
句柄。
如果此參數為 NULL,等候物件將會停止將新的回呼排入佇列(但已排入佇列的回呼仍會發生)。
如果此參數不是 NULL,它必須參考有效的可等候物件。
不支援 Mutex。 如果傳入 mutex 的句柄,線程集區會引發STATUS_THREADPOOL_HANDLE_EXCEPTION例外狀況,而 ExceptionRecord.ExceptionInformation[0] 會等於STATUS_INVALID_PARAMETER_3。
如果等候仍在擱置時關閉此句柄,則未定義函式的行為。 如果等候仍處於擱置狀態,且必須關閉控制碼,請使用 CloseThreadpoolWait 取消等候,然後關閉控制碼。
如果此參數不是 NULL,則會將等候視為已設定。
[in, optional] pftTimeout
指向 FILETIME 結構的指標,指定等候作業應該逾時的絕對或相對時間。如果此參數指向正值,則表示自 1601 年 1 月 1 日 (UTC) 以來的絕對時間,間隔為 100 奈秒。 如果此參數指向負值,表示相對於目前時間等候的時間量。 如需時間值的詳細資訊,請參閱 檔案時間。
如果此參數指向 0,等候會立即逾時。 如果此參數為 NULL,則等候不會逾時。
傳回值
沒有
言論
等候物件只能等候一個句柄。 設定 wait 物件的句柄會取代先前的句柄,如果有的話。
您必須在每次發出訊號以觸發等候回呼之前,向等候物件重新註冊事件。
若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為0x0600或更新版本。
例子
如需範例,請參閱 使用執行緒集區函式。
要求
| 要求 | 價值 |
|---|---|
| 最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
| 支援的最低伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
| 目標平臺 | 窗戶 |
| Header | threadpoolapiset.h (包括 Windows 7 上的 Windows.h、Windows Server 2008 Windows Server 2008 R2) |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |