Função IoInitializeIrp (wdm.h)

A rotina IoInitializeIrp inicializa um determinado IRP alocado pelo chamador.

Sintaxe

void IoInitializeIrp(
  [in, out] PIRP   Irp,
  [in]      USHORT PacketSize,
  [in]      CCHAR  StackSize
);

Parâmetros

[in, out] Irp

Ponteiro para o IRP a ser inicializado.

[in] PacketSize

Especifica o tamanho em bytes do IRP.

[in] StackSize

Especifica o número de locais de pilha no IRP.

Retornar valor

Nenhum

Comentários

Os drivers usam IoInitializeIrp para inicializar IRPs o driver alocado como memória bruta. Não use IoInitializeIrp para inicializar um IRP alocado por IoAllocateIrp. IoAllocateIrp inicializa automaticamente os membros do IRP.

Os drivers podem usar IoInitializeIrp para reinicializar um IRP para reutilização somente em determinadas circunstâncias. Consulte Reutilizando IRPs para obter detalhes.

Se o driver associar um MDL ao IRP alocado, o driver será responsável por liberar o MDL quando o IRP for concluído.

Um driver intermediário ou de nível mais alto também pode chamar IoBuildDeviceIoControlRequest, IoBuildAsynchronousFsdRequest ou IoBuildSynchronousFsdRequest para configurar solicitações enviadas a drivers de nível inferior. Somente um driver de nível mais alto pode chamar IoMakeAssociatedIrp.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport), IoReuseIrp(wdm)

Confira também

IRP

IoAllocateIrp

IoAllocateMdl

IoBuildPartialMdl

IoFreeIrp

IoFreeMdl

IoReuseIrp

IoSetNextIrpStackLocation

IoSizeOfIrp