Функция WdfRequestWdmGetIrp (wdfrequest.h)
[Относится только к KMDF]
Метод WdfRequestWdmGetIrp возвращает структуру WDM IRP , связанную с указанным объектом запроса платформы.
Синтаксис
PIRP WdfRequestWdmGetIrp(
[in] WDFREQUEST Request
);
Параметры
[in] Request
Дескриптор объекта запроса платформы.
Возвращаемое значение
WdfRequestWdmGetIrp возвращает указатель на структуру IRP .
Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Комментарии
Драйвер не должен получать доступ к структуре IRP запроса после выполнения запроса ввода-вывода.
Дополнительные сведения о WdfRequestWdmGetIrp см. в разделе Получение сведений о запросе ввода-вывода.
Примеры
Следующий пример кода является частью функции обратного вызова EvtIoDeviceControl , которая получает WDM IRP, связанную с запросом ввода-вывода, а затем вызывает IoGetNextIrpStackLocation для получения расположения стека ввода-вывода следующего драйвера ниже.
VOID
MyEvtIoDeviceControl(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t OutputBufferLength,
IN size_t InputBufferLength,
IN ULONG IoControlCode
)
{
PIRP irp = NULL;
PIO_STACK_LOCATION nextStack;
...
irp = WdfRequestWdmGetIrp(Request);
nextStack = IoGetNextIrpStackLocation(irp);
...
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Верхняя часть | wdfrequest.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (см. раздел Управление версиями библиотеки Платформы). |
IRQL | <=DISPATCH_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |