Поделиться через


Функция 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)

См. также

WdfRequestGetParameters