Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо к KMDF и UMDF]
Метод WdfIoQueueRetrieveFoundRequest предоставляет указанный запрос драйверу, чтобы драйвер смог обработать запрос.
Синтаксис
NTSTATUS WdfIoQueueRetrieveFoundRequest(
[in] WDFQUEUE Queue,
[in] WDFREQUEST FoundRequest,
[out] WDFREQUEST *OutRequest
);
Параметры
[in] Queue
Дескриптор объекта очереди платформы.
[in] FoundRequest
Дескриптор объекта запроса платформы, полученный путем вызова WdfIoQueueFindRequest.
[out] OutRequest
Указатель на расположение, которое получает дескриптор объекту запроса платформы. Драйвер должен использовать этот дескриптор при обработке запроса.
Возвращаемое значение
WdfIoQueueRetrieveFoundRequest возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае этот метод может вернуть одно из следующих значений:
| Код возврата | Описание |
|---|---|
|
Драйвер предоставил недопустимый дескриптор. |
|
Запрос, который определяется параметром FoundRequest, не найден в очереди ввода-вывода. |
|
Платформа достигла конца очереди ввода-вывода без поиска запроса, соответствующего условиям поиска. |
Этот метод также может возвращать другие значения NTSTATUS.
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Замечания
После вызова WdfIoQueueRetrieveFoundRequest для получения запроса ввода-вывода драйвер принадлежит запросу и должен обрабатывать запрос ввода-вывода каким-то образом.
Перед вызовом WdfIoQueueRetrieveFoundRequestдрайвер должен вызвать WdfIoQueueFindRequest, который получает дескриптор, который драйвер может использовать в качестве параметра FoundRequest для WdfIoQueueRetrieveFoundRequest.
Если драйвер был создан с помощью KMDF версии 1.11 или более поздней, драйвер может вызывать WdfIoQueueRetrieveFoundRequest без первого вызова WdfIoQueueFindRequest. В этом случае драйвер должен убедиться, что объект запроса по-прежнему действителен и в очереди.
Если вызов WdfIoQueueRetrieveFoundRequest возвращает STATUS_NOT_FOUND, удален запрос, который ранее был в очереди. Возможно, запрос был отменен.
Дополнительные сведения о методе WdfIoQueueRetrieveFoundRequest см. в управлении очередями ввода-вывода.
Примеры
Пример кода, использующий WdfIoQueueRetrieveFoundRequest, см. в разделе WdfIoQueueFindRequest.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | универсальный |
| минимальная версия 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), wdfioqueuefindrequestfailed, WdfIoQueueFindRequestFailed(kmdf), wdfioqueueretrievefoundrequest, WdfIoQueueRetrieveFoundRequest(kmdf) |