[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 |
| ヘッダー | wdfio.h (Wdf.h を含む) |
| 図書館 | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
| IRQL | <= DISPATCH_LEVEL |
| DDI コンプライアンス規則 を する | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
こちらもご覧ください
EvtIoQueueState を する