WdfIoQueuePurgeSynchronously 関数 (wdfio.h)
[KMDF と UMDF に適用]
WdfIoQueuePurgeSynchronously メソッドを使用すると、フレームワークは I/O キューへの I/O 要求のキューを停止し、未処理の要求とドライバー所有の取り消し可能な要求を取り消します。
構文
void WdfIoQueuePurgeSynchronously(
[in] WDFQUEUE Queue
);
パラメーター
[in] Queue
フレームワーク キュー オブジェクトへのハンドル。
戻り値
なし
解説
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
ドライバーが WdfIoQueuePurgeSynchronously を呼び出した後、フレームワークは指定されたキューへの I/O 要求の追加を停止します。 フレームワークは、ドライバーに配信されていないすべての要求を取り消します。 フレームワークがキューに対する追加の要求を受け取った場合、完了状態の値STATUS_INVALID_DEVICE_STATEで完了します。
WdfIoQueuePurgeSynchronously は、未処理の要求とドライバー所有のすべての要求が完了または取り消された後にを返します。
ドライバーは I/O キューを消去した後、 WdfIoQueueStart を呼び出してキューを再起動できます。
イベント コールバック関数が関連付けられているキューに関係なく、次のキュー オブジェクト イベント コールバック関数から WdfIoQueuePurgeSynchronously を呼び出さないでください。
EvtIoDefaultEvtIoDeviceControlEvtIoInternalDeviceControlEvtIoReadEvtIoWriteWdfIoQueuePurgeSynchronously メソッドの詳細については、「 Manageing I/O Queues」を参照してください。
例
次のコード例では、指定した I/O キューを消去します。
WdfIoQueuePurgeSynchronously(ReadQueue);
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfio.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | ChangeQueueState(kmdf), DriverCreate(kmdf), EvtSurpriseRemoveNoSuspendQueue(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NoCancelFromEvtSurpriseRemove(kmdf), NoIoQueuePurgeSynchronously(kmdf) |