Функция WdfIoQueueGetState (wdfio.h)
[Применимо к KMDF и UMDF]
Метод WdfIoQueueGetState возвращает состояние указанной очереди ввода-вывода.
Синтаксис
WDF_IO_QUEUE_STATE WdfIoQueueGetState(
[in] WDFQUEUE Queue,
[out, optional] PULONG QueueRequests,
[out, optional] PULONG DriverRequests
);
Параметры
[in] Queue
Дескриптор объекта очереди платформы.
[out, optional] QueueRequests
Указатель на расположение, которое получает количество запросов ввода-вывода, которые в настоящее время находятся в очереди ввода-вывода и не были доставлены драйверу. Этот указатель необязателен и может быть null.
[out, optional] DriverRequests
Указатель на расположение, которое получает количество запросов ввода-вывода, которые были доставлены водителю, но драйвер не завершил или не отменил. Этот указатель необязателен и может быть null.
Возвращаемое значение
WdfIoQueueGetState возвращает WDF_IO_QUEUE_STATEтипизированное значение, которое может содержать битовое ЗНАЧЕНИЕ ИЛИ нескольких перечислителей 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 см. в получения свойств очереди ввода-вывода.
Примеры
Следующий пример кода — это подпрограмма, которая возвращает 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 (include Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
правил соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |