Freigeben über


CreateThreadpoolWait-Funktion (threadpoolapiset.h)

Erstellt ein neues Warteobjekt.

Syntax

PTP_WAIT CreateThreadpoolWait(
  [in]                PTP_WAIT_CALLBACK    pfnwa,
  [in, out, optional] PVOID                pv,
  [in, optional]      PTP_CALLBACK_ENVIRON pcbe
);

Parameter

[in] pfnwa

Die Rückruffunktion, die aufgerufen werden soll, wenn die Wartezeit abgeschlossen oder ein Zeitüberschreitung aufgetreten ist. Weitere Informationen finden Sie unter WaitCallback.

[in, out, optional] pv

Optionale anwendungsdefinierte Daten, die an die Rückruffunktion übergeben werden sollen.

[in, optional] pcbe

Eine TP_CALLBACK_ENVIRON Struktur, die die Umgebung definiert, in der der Rückruf ausgeführt werden soll. Die InitializeThreadpoolEnvironment-Funktion gibt diese Struktur zurück.

Wenn dieser Parameter NULL ist, wird der Rückruf in der Standardrückrufumgebung ausgeführt. Weitere Informationen finden Sie unter InitializeThreadpoolEnvironment.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie einen Zeiger auf eine TP_WAIT-Struktur zurück, die das Wait-Objekt definiert. Anwendungen ändern die Member dieser Struktur nicht.

Wenn bei der Funktion ein Fehler auftritt, gibt sie NULL zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.

Hinweise

Um das wait-Objekt festzulegen, rufen Sie die Funktion SetThreadpoolWait oder SetThreadpoolWaitEx auf.

Das Arbeitselement und alle funktionen, die aufgerufen werden, dürfen nicht vom Thread abhängig sein, nachdem sie zurückgegeben wurden. Daher können Sie keinen asynchronen Aufruf, der einen persistenten Thread erfordert, z. B. die RegNotifyChangeKeyValue-Funktion ohne das flag REG_NOTIFY_THREAD_AGNOSTIC , aus der Standardrückrufumgebung aufrufen. Verwenden Sie stattdessen einen Thread, dessen Lebensdauer Sie steuern.

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

   
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

SetThreadpoolWait

Threadpools

WaitForThreadpoolWaitCallbacks