Поделиться через


функция WDF_IO_QUEUE_DRAINED (wdfio.h)

[Применимо к KMDF и UMDF]

Функция WDF_IO_QUEUE_DRAINED возвращает TRUE, если состояние очереди ввода-вывода указывает на то, что очередь стекается.

Синтаксис

BOOLEAN WDF_IO_QUEUE_DRAINED(
  [in] WDF_IO_QUEUE_STATE State
);

Параметры

[in] State

Значение WDF_IO_QUEUE_STATEтипа, которое возвращает WdfIoQueueGetState.

Возвращаемое значение

WDF_IO_QUEUE_DRAINED возвращает TRUE, если указанное состояние очереди указывает на то, что очередь стекается. В противном случае функция возвращает FALSE.

Замечания

Очередь ввода-вывода очищается, если она не принимает новые запросы ввода-вывода, и если все запросы, которые были в очереди, были доставлены драйверу.

Драйвер может вызывать WDF_IO_QUEUE_DRAINED после вызова WdfIoQueueGetState.

Дополнительные сведения о состояниях очереди ввода-вывода см. в WDF_IO_QUEUE_STATE.

Примеры

Следующий пример кода — это подпрограмма, которая возвращает 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
Заголовок wdfio.h (include Wdf.h)
Библиотека Нет
IRQL Любой IRQL.

См. также

WDF_IO_QUEUE_IDLE

WDF_IO_QUEUE_PURGED

WDF_IO_QUEUE_READY

WDF_IO_QUEUE_STOPPED