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

См. также раздел

WdfRequestGetParameters