Метод IWDFIoQueue::RetrieveNextRequestByFileObject (wudfddi.h)
Предупреждение
UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.
Метод RetrieveNextRequestByFileObject извлекает из очереди ввода-вывода следующий запрос ввода-вывода, объект которого соответствует указанному объекту файла.
Синтаксис
HRESULT RetrieveNextRequestByFileObject(
[in] IWDFFile *pFile,
[out] IWDFIoRequest **ppRequest
);
Параметры
[in] pFile
Указатель на интерфейс IWDFFile для объекта файла, который используется для получения следующего запроса ввода-вывода, чей файловый объект соответствует данному предоставленному объекту файла.
[out] ppRequest
Указатель на буфер, который получает указатель на интерфейс IWDFIoRequest для следующего объекта запроса, объект файла которого соответствует предоставленному объекту файла, или получает значение NULL , если очередь пуста или если следующий запрос не найден.
Возвращаемое значение
RetrieveNextRequestByFileObject возвращает одно из следующих значений:
Код возврата | Описание |
---|---|
S_OK | Следующий запрос ввода-вывода успешно получен из очереди ввода-вывода. |
HRESULT_FROM_NT(STATUS_WDF_PAUSED) | Очередь не отправляет запросы. Эта ситуация возникает, если устройство переходит в состояние питания и все очереди не отправляют запросы или драйвер явно называется IWDFIoQueue::Stop, чтобы остановить отправку запросов. Эта ситуация также может возникнуть, если драйвер пытается удалить запрос из очереди вручную, которая управляется питанием и отключена, или если очередь приостановлена. |
HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS) | В очереди не было запросов. |
HRESULT_FROM_NT(STATUS_INVALID_DEVICE_STATE) | Был выполнен вызов для получения запроса из параллельной очереди. |
RetrieveNextRequestByFileObject может также возвращать другие значения HRESULT.
Комментарии
Если драйвер настраивает очередь ввода-вывода для отправки запросов ввода-вывода вручную, драйвер может вызвать метод RetrieveNextRequestByFileObject , чтобы получить следующий запрос, чей объект файла соответствует предоставленному объекту файла из очереди. Дополнительные сведения об отправке запросов ввода-вывода вручную см. в разделе Настройка режима диспетчеризации для очереди ввода-вывода.
Если в очереди ввода-вывода существует несколько запросов ввода-вывода, объекты которых соответствуют объекту файла, на который указывает параметр pFile , возвращается первый запрос ввода-вывода.
Примеры
Пример кода использования метода RetrieveNextRequestByFileObject см. в разделе IWDFIoQueue::RetrieveNextRequest.
Требования
Требование | Значение |
---|---|
Дата окончания поддержки | Недоступно в UMDF 2.0 и более поздних версиях. |
Целевая платформа | Персональный компьютер |
Минимальная версия UMDF | 1.5 |
Верхняя часть | wudfddi.h (включая Wudfddi.h) |
DLL | WUDFx.dll |