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 の Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |