次の方法で共有


WDF_IO_QUEUE_DRAINED関数 (wdfio.h)

[KMDF と UMDF に適用]

I/O キューの状態がキューがドレインされていることを示している場合、 WDF_IO_QUEUE_DRAINED 関数は TRUE を 返します。

構文

BOOLEAN WDF_IO_QUEUE_DRAINED(
  [in] WDF_IO_QUEUE_STATE State
);

パラメーター

[in] State

WdfIoQueueGetState が返すWDF_IO_QUEUE_STATE型指定された値。

戻り値

WDF_IO_QUEUE_DRAINED は、指定したキューの状態がキューがドレインされていることを示す場合に TRUE を 返します。 それ以外の場合、関数は FALSE を返します

注釈

I/O キューは、新しい I/O 要求を受け入れず、キュー内のすべての要求がドライバーに配信されている場合にドレインされます。

ドライバーは、WdfIoQueueGetState を呼び出した後、WDF_IO_QUEUE_DRAINEDを呼び出すことができます。

I/O キューの状態の詳細については、「 WDF_IO_QUEUE_STATE」を参照してください。

次のコード例は、指定した I/O キューがドレインされた場合に TRUE を 返すルーチンです。

BOOLEAN
IsQueueDrained(
    IN WDFQUEUE Queue
    )
{
    WDF_IO_QUEUE_STATE queueStatus;
    queueStatus = WdfIoQueueGetState(
                                     Queue,
                                     NULL,
                                     NULL
                                     );
    return (WDF_IO_QUEUE_DRAINED(queueStatus)) ? TRUE : FALSE;
}

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
Header wdfio.h (Wdf.h を含む)
Library なし
IRQL 任意の IRQL。

こちらもご覧ください

WDF_IO_QUEUE_IDLE

WDF_IO_QUEUE_PURGED

WDF_IO_QUEUE_READY

WDF_IO_QUEUE_STOPPED