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


Метод 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

См. также раздел