Función IoInitializeIrp (wdm.h)
El IoInitializeIrp rutina 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
Ninguno
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 su reutilización solo en determinadas circunstancias. Consulte reutilización de irP para obtener más información.
Si el controlador asocia un MDL con el IRP asignado, 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, IoBuildAsynchronousFsdRequesto 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 | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 2000. |
de la plataforma de destino de | Universal |
encabezado de | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | <= DISPATCH_LEVEL |
reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), IoReuseIrp(wdm) |