Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Относится к KMDF и UMDF]
Метод WdfRequestRequeue возвращает запрос ввода-вывода руководителю очереди ввода-вывода, из которой он был доставлен драйверу.
Синтаксис
NTSTATUS WdfRequestRequeue(
[in] WDFREQUEST Request
);
Параметры
[in] Request
Дескриптор объекта запроса платформы.
Возвращаемое значение
WdfRequestRequeue возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае этот метод может вернуть одно из следующих значений:
| Код возврата | Описание |
|---|---|
|
Входной параметр недопустим. |
|
Это значение возвращается, если происходит одно из следующих действий:
|
Этот метод также может возвращать другие значения NTSTATUS.
Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Комментарии
Драйвер может вызывать WdfRequestRequeue , только если использует метод ручной диспетчеризации для очереди ввода-вывода.
Если драйвер вызывает WdfRequestRequeue после вызова WdfIoQueuePurge, повторная попытка может завершиться до завершения очистки. В kmdf версии 1.9 и более ранних эта последовательность приводит к сбою операционной системы. Эта проблема устранена в KMDF версии 1.11 и более поздних.
Дополнительные сведения о WdfRequestRequeue см. в разделе Повторная постановка запросов ввода-вывода.
Примеры
Следующий пример кода возвращает указанный запрос ввода-вывода в очередь, из которой драйвер получил запрос.
NTSTATUS status;
status = WdfRequestRequeue(request);
Требования
| Требование | Значение |
|---|---|
| Целевая платформа | Универсальное |
| Минимальная версия KMDF | 1,0 |
| Минимальная версия UMDF | 2,0 |
| Верхняя часть | wdfrequest.h (включая Wdf.h) |
| Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
| IRQL | <=DISPATCH_LEVEL |
| Правила соответствия DDI | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |