次の方法で共有


WdfIoQueueStopSynchronously 関数 (wdfio.h)

[KMDF と UMDF に適用]

WdfIoQueueStopSynchronously メソッドは、I/O キューが I/O 要求を配信できないようにしますが、キューは新しい要求を受信して格納します。 メソッドは、配信されたすべての要求が取り消されたか完了した後に を返します。

構文

void WdfIoQueueStopSynchronously(
  [in] WDFQUEUE Queue
);

パラメーター

[in] Queue

フレームワーク キュー オブジェクトへのハンドル。

戻り値

なし

解説

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

WdfIoQueueStopSynchronously メソッドを使用すると、WdfIoQueueStopSynchronously というドライバーの前にキューが新しい要求を受信していない場合でも、キューは新しい要求を受信できます。 たとえば、ドライバーが WdfIoQueueDrain を呼び出すと、フレームワークはキューへの新しい I/O 要求の追加を停止します。 ドライバーの後続の WdfIoQueueStopSynchronously を呼び出すと、フレームワークはキューへの要求の追加を再開します。

イベント コールバック関数が関連付けられているキューに関係なく、次のキュー オブジェクト イベント コールバック関数から WdfIoQueueStopSynchronously を呼び出さないでください。

EvtIoDefaultEvtIoDeviceControlEvtIoInternalDeviceControlEvtIoReadEvtIoWriteWdfIoQueueStopSynchronously メソッドの詳細については、「 Manageing I/O Queues」を参照してください。

次のコード例では、指定したキューを停止します。

WdfIoQueueStopSynchronously(WriteQueue);

要件

要件
対象プラットフォーム ユニバーサル
最小 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)

こちらもご覧ください

WdfIoQueueStart

WdfIoQueueStop