Функция WdfIoQueueRetrieveRequestByFileObject (wdfio.h)
[Применимо к KMDF и UMDF]
Метод WdfIoQueueRetrieveRequestByFileObject получает следующий доступный запрос ввода-вывода из указанной очереди ввода-вывода, связанной с указанным объектом файла.
Синтаксис
NTSTATUS WdfIoQueueRetrieveRequestByFileObject(
[in] WDFQUEUE Queue,
[in] WDFFILEOBJECT FileObject,
[out] WDFREQUEST *OutRequest
);
Параметры
[in] Queue
Дескриптор объекта очереди платформы.
[in] FileObject
Дескриптор объекта файла платформы.
[out] OutRequest
Указатель на расположение, которое получает дескриптор объекту запроса платформы. Если WdfIoQueueRetrieveRequestByFileObject не возвращает STATUS_SUCCESS, он не задает значение расположения.
Возвращаемое значение
WdfIoQueueRetrieveRequestByFileObject возвращает STATUS_SUCCESS, если операция завершится успешно. В противном случае этот метод может вернуть одно из следующих значений:
Код возврата | Описание |
---|---|
|
Драйвер предоставил недопустимый дескриптор. |
|
Платформа достигла конца очереди ввода-вывода. |
|
Указанная очередь ввода-вывода настраивается для метода параллельной диспетчеризации. |
|
Указанная очередь ввода-вывода управляемых питанием, а его устройство находится в состоянии низкой мощности. |
Этот метод также может возвращать другие значения NTSTATUS.
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Замечания
Драйвер, настроив очередь ввода-вывода для ручной или последовательной отправки, может вызывать WdfIoQueueRetrieveRequestByFileObject. Дополнительные сведения об использовании WdfIoQueueRetrieveRequestByFileObject с методами ручной или последовательной отправки см. в методах отправки запросов ввода-вывода.
После вызова WdfIoQueueRetrieveRequestByFileObject для получения запроса ввода-вывода драйвер владеет запросе и должен обрабатывать запрос ввода-вывода каким-то образом.
Дополнительные сведения о методе WdfIoQueueRetrieveRequestByFileObject см. в управлении очередями ввода-вывода.
Примеры
Следующий пример кода получает из указанной очереди ввода-вывода дескриптор следующего объекта запроса платформы, связанного с указанным объектом файла платформы.
WDFREQUEST request;
status = WdfIoQueueRetrieveRequestByFileObject(
queue,
fileObject,
&request
);
Требования
Требование | Ценность |
---|---|
целевая платформа | универсальный |
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
Заголовок | wdfio.h (include Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
правил соответствия DDI | DoubleCompletion(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |