CreateThreadpoolIo-Funktion (threadpoolapiset.h)

Erstellt ein neues E/A-Vervollständigungsobjekt.

Syntax

PTP_IO CreateThreadpoolIo(
  [in]                HANDLE                fl,
  [in]                PTP_WIN32_IO_CALLBACK pfnio,
  [in, out, optional] PVOID                 pv,
  [in, optional]      PTP_CALLBACK_ENVIRON  pcbe
);

Parameter

[in] fl

Das Dateihandle, das an dieses E/A-Vervollständigungsobjekt gebunden werden soll.

[in] pfnio

Die Rückruffunktion, die jedes Mal aufgerufen werden soll, wenn ein überlappender E/A-Vorgang für die Datei abgeschlossen wird. Ausführliche Informationen finden Sie unter IoCompletionCallback.

[in, out, optional] pv

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

[in, optional] pcbe

Ein Zeiger auf eine TP_CALLBACK_ENVIRON Struktur, die die Umgebung definiert, in der der Rückruf ausgeführt werden soll. Verwenden Sie die InitializeThreadpoolEnvironment-Funktion , um die Struktur zu initialisieren, bevor Sie diese Funktion aufrufen.

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_IO Struktur zurück, die das E/A-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 überlappende E/A-Vervollständigungsrückrufe zu erhalten, rufen Sie die Funktion StartThreadpoolIo auf.

Wenn das an das E/A-Vervollständigungsobjekt gebundene Dateihandle den Benachrichtigungsmodus FILE_SKIP_COMPLETION_PORT_ON_SUCCESS hat und ein asychroner E/A-Vorgang sofort erfolgreich zurückgegeben wird, wird die Rückruffunktion für die E/A-Vervollständigung nicht aufgerufen, und threadpool-E/A-Benachrichtigungen müssen abgebrochen werden. Weitere Informationen finden Sie unter CancelThreadpoolIo.

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

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

CancelThreadpoolIo

CloseThreadpoolIo

StartThreadpoolIo

Threadpools

WaitForThreadpoolIoCallbacks