Функция WdfRequestWdmGetIrp (wdfrequest.h)
[Применимо только к KMDF]
Метод WdfRequestWdmGetIrp возвращает структуру WDM IRP, связанную с указанным объектом запроса платформы.
Синтаксис
PIRP WdfRequestWdmGetIrp(
[in] WDFREQUEST Request
);
Параметры
[in] Request
Дескриптор объекта запроса платформы.
Возвращаемое значение
WdfRequestWdmGetIrp возвращает указатель на структуру I RP.
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Замечания
Драйвер не должен получить доступ к структуре 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) |