Compartilhar via


Função WdfRequestWdmGetIrp (wdfrequest.h)

[Aplica-se somente ao KMDF]

O método WdfRequestWdmGetIrp retorna a estrutura WDM IRP associada a um objeto de solicitação de estrutura especificado.

Sintaxe

PIRP WdfRequestWdmGetIrp(
  [in] WDFREQUEST Request
);

Parâmetros

[in] Request

Um identificador para um objeto de solicitação de estrutura.

Retornar valor

WdfRequestWdmGetIrp retorna um ponteiro para uma estrutura IRP .

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

O driver não deve acessar a estrutura IRP de uma solicitação depois de concluir a solicitação de E/S.

Para obter mais informações sobre WdfRequestWdmGetIrp, consulte Obtendo informações sobre uma solicitação de E/S.

Exemplos

O exemplo de código a seguir faz parte de uma função de retorno de chamada EvtIoDeviceControl que obtém o IRP do WDM associado a uma solicitação de E/S e, em seguida, chama IoGetNextIrpStackLocation para obter o local da pilha de E/S do driver mais baixo.

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);
...
}

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfrequest.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL <=DISPATCH_LEVEL
Regras de conformidade da DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Confira também

WdfRequestGetParameters