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

関連項目

CancelThreadpoolIo

CloseThreadpoolIo

CreateThreadpoolIo

スレッド プール

WaitForThreadpoolIoCallbacks