共用方式為


SetThreadpoolWait 函式 (threadpoolapiset.h)

設定 wait 物件,並取代先前的等候物件,如果有的話。 背景工作線程會在句柄收到訊號或指定的逾時到期之後,呼叫等候物件的回呼函式。

語法

void SetThreadpoolWait(
  [in, out]      PTP_WAIT  pwa,
  [in, optional] HANDLE    h,
  [in, optional] PFILETIME pftTimeout
);

參數

[in, out] pwa

定義 wait 物件的 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 結構的指標,指定等候作業應該逾時的絕對或相對時間。如果此參數指向正值,則會以 100 奈秒的間隔指出自 1601 年 1 月 1 日起的絕對時間。 如果此參數指向負值,表示相對於目前時間等候的時間量。 如需時間值的詳細資訊,請參閱 File Times

如果此參數指向 0,等候會立即逾時。 如果此參數為 NULL,則等候不會逾時。

傳回值

沒有

言論

等候物件只能等候一個句柄。 設定 wait 物件的句柄會取代先前的句柄,如果有的話。

您必須在每次發出訊號以觸發等候回呼之前,向等候物件重新註冊事件。

若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為0x0600或更新版本。

例子

如需範例,請參閱 使用線程集區函式

要求

要求 價值
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
標頭 threadpoolapiset.h (包括 Windows 7 上的 Windows.h、Windows Server 2008 Windows Server 2008 R2)
連結庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CloseThreadpoolWait

CreateThreadpoolWait

SetThreadpoolWaitEx

線程集區

WaitForThreadpoolWaitCallbacks