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) |