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) |