Función IoInitializeIrp (wdm.h)

La rutina IoInitializeIrp inicializa un IRP determinado asignado por el autor de la llamada.

Sintaxis

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

Parámetros

[in, out] Irp

Puntero al IRP que se va a inicializar.

[in] PacketSize

Especifica el tamaño en bytes del IRP.

[in] StackSize

Especifica el número de ubicaciones de pila en el IRP.

Valor devuelto

None

Observaciones

Los controladores usan IoInitializeIrp para inicializar los IRP asignados como memoria sin procesar. No use IoInitializeIrp para inicializar un IRP asignado por IoAllocateIrp. IoAllocateIrp inicializa automáticamente los miembros del IRP.

Los controladores pueden usar IoInitializeIrp para reinicializar un IRP para reutilizarlo solo en determinadas circunstancias. Consulte Reutilización de IRP para obtener más información.

Si el controlador asocia un MDL con el IRP que asignó, el controlador es responsable de liberar el MDL cuando se completa el IRP.

Un controlador intermedio o de nivel superior también puede llamar a IoBuildDeviceIoControlRequest, IoBuildAsynchronousFsdRequest o IoBuildSynchronousFsdRequest para configurar las solicitudes que envía a controladores de nivel inferior. Solo un controlador de nivel superior puede llamar a IoMakeAssociatedIrp.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), IoReuseIrp(wdm)

Consulte también

IRP

IoAllocateIrp

IoAllocateMdl

IoBuildPartialMdl

IoFreeIrp

IoFreeMdl

IoReuseIrp

IoSetNextIrpStackLocation

IoSizeOfIrp