Share via


CreateThreadpoolIo 函式 (threadpoolapiset.h)

建立新的 I/O 完成物件。

語法

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

參數

[in] fl

要系結至這個 I/O 完成物件的檔句柄。

[in] pfnio

每次檔案上重疊的 I/O 作業完成時,要呼叫的回呼函式。 如需詳細資訊,請參閱 IoCompletionCallback

[in, out, optional] pv

要傳遞至回調函式的選擇性應用程式定義數據。

[in, optional] pcbe

定義要在其中執行回呼之環境 之TP_CALLBACK_ENVIRON 結構的指標。 在呼叫此函式之前,請使用 InitializeThreadpoolEnvironment 函式來初始化 結構。

如果此參數為 NULL,則回呼會在預設回呼環境中執行。 如需詳細資訊,請參閱 InitializeThreadpoolEnvironment

傳回值

如果函式成功,它會傳回定義 I/O 物件的 TP_IO 結構的指標。 應用程式不會修改這個結構的成員。

如果函式失敗,則會傳回NULL。 若要擷取擴充的錯誤資訊,請呼叫 GetLastError

備註

若要開始接收重疊的 I/O 完成回呼,請呼叫 StartThreadpoolIo 函 式。

如果系結至 I/O 完成物件的檔句柄具有通知模式FILE_SKIP_COMPLETION_PORT_ON_SUCCESS,且異步 I/O 作業會立即傳回成功,則不會呼叫 I/O 完成回呼函式,而且必須取消線程緩衝處理 I/O 通知。 如需詳細資訊,請參閱 CancelThreadpoolIo

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

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 threadpoolapiset.h (Windows 7、Windows Server 2008 Windows Server 2008 R2)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CancelThreadpoolIo

CloseThreadpoolIo

StartThreadpoolIo

線程集區

WaitForThreadpoolIoCallbacks