Функция 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 (включая Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |