次の方法で共有


WdfIoQueueStart 関数 (wdfio.h)

[KMDF と UMDF に適用]

WdfIoQueueStart メソッドを使用すると、I/O キューで新しい I/O 要求の受信と配信を開始できます。

構文

void WdfIoQueueStart(
  [in] WDFQUEUE Queue
);

パラメーター

[in] Queue

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

戻り値

なし

解説

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

ドライバーが WdfIoQueueStart を呼び出すときに I/O 要求が I/O キューにある場合、WdfIoQueueStart を呼び出すのと同じスレッドは、WdfIoQueueStart が返される前にドライバーの要求ハンドラーを呼び出すことができます。 そのため、ドライバーが WdfIoQueueStart を呼び出すときに、要求ハンドラーが取得しようとする ロック を保持することはできません。 そうしないと、デッドロックが発生する可能性があります。

WdfIoQueueStart メソッドの詳細については、「I/O キューの管理」を参照してください。

次のコード例では、指定した I/O キューを消去し、キューを再起動します。

WdfIoQueuePurge(
                ReadQueue, 
                WDF_NO_EVENT_CALLBACK, 
                WDF_NO_CONTEXT
                );
WdfIoQueueStart(ReadQueue);

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfio.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)

こちらもご覧ください

WdfIoQueuePurge

WdfIoQueueStop