StartThreadpoolIo 関数 (threadpoolapiset.h)
指定した I/O 完了オブジェクトに対して I/O 操作が開始される可能性があることをスレッド プールに通知します。 ワーカー スレッドは、このオブジェクトにバインドされているファイル ハンドルで操作が完了した後、I/O 完了オブジェクトのコールバック関数を呼び出します。
構文
void StartThreadpoolIo(
[in, out] PTP_IO pio
);
パラメーター
[in, out] pio
I/O 完了オブジェクトを定義する TP_IO 構造体へのポインター。 CreateThreadpoolIo 関数は、このポインターを返します。
戻り値
なし
解説
I/O 完了オブジェクトにバインドされているファイル ハンドルで各非同期 I/O 操作を開始する前に、この関数を呼び出す必要があります。 これを行わないと、スレッド プールが完了すると I/O 操作が無視され、メモリが破損します。
I/O 操作が失敗した場合は、 CancelThreadpoolIo 関数を呼び出してこの通知を取り消します。
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 |