SetThreadpoolWait-Funktion (threadpoolapiset.h)

Legt das Warteobjekt fest, wobei das vorherige Warteobjekt ersetzt wird, falls vorhanden. Ein Workerthread ruft die Rückruffunktion des Warteobjekts auf, nachdem das Handle signalisiert wird oder das angegebene Timeout abläuft.

Syntax

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

Parameter

[in, out] pwa

Ein Zeiger auf eine TP_WAIT Struktur, die das Warteobjekt definiert. Die CreateThreadpoolWait-Funktion gibt diesen Zeiger zurück.

[in, optional] h

Ein Handler.

Wenn dieser Parameter NULL ist, wird das Wait-Objekt keine neuen Rückrufe mehr in die Warteschlange stellen (aber rückrufe, die bereits in die Warteschlange eingereiht wurden, werden weiterhin ausgeführt).

Wenn dieser Parameter nicht NULL ist, muss er auf ein gültiges wartebares Objekt verweisen.

Wenn dieses Handle geschlossen wird, während die Wartezeit noch aussteht, ist das Verhalten der Funktion undefiniert. Wenn die Wartezeit noch aussteht und das Handle geschlossen werden muss, verwenden Sie CloseThreadpoolWait , um die Wartezeit abzubrechen und dann das Handle zu schließen.

Die Wartezeit gilt als festgelegt, wenn dieser Parameter nicht NULL ist.

[in, optional] pftTimeout

Ein Zeiger auf eine FILETIME-Struktur , der die absolute oder relative Zeit angibt, zu der der Wartevorgang ein Timeout haben soll. Wenn dieser Parameter auf einen positiven Wert verweist, gibt er die absolute Zeit seit dem 1. Januar 1601 (UTC) in Intervallen von 100 Nanosekunden an. Wenn dieser Parameter auf einen negativen Wert verweist, gibt er die Wartezeit im Verhältnis zur aktuellen Zeit an. Weitere Informationen zu Zeitwerten finden Sie unter Dateizeiten.

Wenn dieser Parameter auf 0 zeigt, wird die Wartezeit sofort unterbrochen. Wenn dieser Parameter NULL ist, wird für die Wartezeit kein Timeout ausgeführt.

Rückgabewert

Keine

Bemerkungen

Ein Warteobjekt kann nur auf ein Handle warten. Wenn Sie das Handle für ein Warteobjekt festlegen, wird das vorherige Handle ersetzt, sofern vorhanden.

Sie müssen das Ereignis beim Warteobjekt erneut registrieren, bevor Sie es jedes Mal signalisieren, um den Warterückruf auszulösen.

Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie _WIN32_WINNT als 0x0600 oder höher.

Beispiele

Ein Beispiel finden Sie unter Verwenden der Threadpoolfunktionen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile threadpoolapiset.h (einschließen von Windows.h unter Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CloseThreadpoolWait

CreateThreadpoolWait

SetThreadpoolWaitEx

Threadpools

WaitForThreadpoolWaitCallbacks