WdfIoQueueGetState 関数 (wdfio.h)
[KMDF と UMDF に適用]
WdfIoQueueGetState メソッドは、指定された I/O キューの状態を返します。
構文
WDF_IO_QUEUE_STATE WdfIoQueueGetState(
[in] WDFQUEUE Queue,
[out, optional] PULONG QueueRequests,
[out, optional] PULONG DriverRequests
);
パラメーター
[in] Queue
フレームワーク キュー オブジェクトへのハンドル。
[out, optional] QueueRequests
現在 I/O キューにあり、ドライバーに配信されていない I/O 要求の数を受け取る場所へのポインター。 このポインターは省略可能であり、 NULL にすることができます。
[out, optional] DriverRequests
ドライバーに配信されたが、ドライバーが完了または取り消されていない I/O 要求の数を受け取る場所へのポインター。 このポインターは省略可能であり、 NULL にすることができます。
戻り値
WdfIoQueueGetState は 、複数のWDF_IO_QUEUE_STATE列挙子のビットごとの OR を含むことができるWDF_IO_QUEUE_STATE型指定された値 を 返します。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
注釈
WdfIoQueueGetState を呼び出した後、ドライバーは、Wdfio.h で定義されている次の関数に受信状態の値を渡すことができます。
-
WDF_IO_QUEUE_DRAINED。キューがドレインされている場合は TRUE を 返します。
-
WDF_IO_QUEUE_IDLE。キューがアイドル状態の場合は TRUE を 返します。
-
WDF_IO_QUEUE_PURGED。キューが消去された場合に TRUE を 返します。
-
WDF_IO_QUEUE_READY。キューの準備ができた場合に TRUE を 返します。
-
WDF_IO_QUEUE_STOPPED。キューが停止した場合に TRUE を 返します。
WdfIoQueueGetState メソッドの詳細については、「I/O キューのプロパティの取得」を参照してください。
例
次のコード例は、指定した I/O キューがアイドル状態の場合に TRUE を 返すルーチンです。
BOOLEAN
IsQueueIdle(
IN WDFQUEUE Queue
)
{
WDF_IO_QUEUE_STATE queueStatus;
queueStatus = WdfIoQueueGetState(
Queue,
NULL,
NULL
);
return (WDF_IO_QUEUE_IDLE(queueStatus)) ? TRUE : FALSE;
}
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 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) |