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 |