次の方法で共有


WaitForThreadpoolIoCallbacks 関数 (threadpoolapiset.h)

未処理の I/O 完了コールバックが完了するまで待機し、必要に応じて、まだ実行を開始していない保留中のコールバックを取り消します。

構文

void WaitForThreadpoolIoCallbacks(
  [in, out] PTP_IO pio,
  [in]      BOOL   fCancelPendingCallbacks
);

パラメーター

[in, out] pio

I/O 完了オブジェクトを定義する TP_IO 構造体へのポインター。 CreateThreadpoolIo 関数は、このポインターを返します。

[in] fCancelPendingCallbacks

まだ実行を開始していないキューに登録されたコールバックを取り消すかどうかを示します。

戻り値

なし

解説

fCancelPendingCallbacks が TRUE に設定されている場合、キューに登録されたコールバックのみが取り消されます。 保留中の I/O 要求は取り消されません。 そのため、呼び出し元は、OVERLAPPED 構造体に対して GetOverlappedResult を呼び出して、構造体を解放する前に I/O 操作が完了したかどうかをチェックする必要があります。 別の方法として、 fCancelPendingCallbacks を FALSE に設定し、関連付けられている I/O 完了コールバックで OVERLAPPED 構造体を解放します。 I/O 要求がまだ保留中の間は 、OVERLAPPED 構造体を解放しないように注意してください。 GetOverlappedResult を使用して I/O 操作の状態を確認し、操作が完了するまで待機します。 CancelIoEx 関数を最初に使用すると、未処理の I/O 要求を取り消し、待機が短縮される可能性があります。 詳細については、「 保留中の I/O 操作の取り消し」を参照してください。

この関数を使用するアプリケーションをコンパイルするには、_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

StartThreadpoolIo

スレッド プール