Condividi tramite


Funzione IoInitializeIrp (wdm.h)

La routine IoInitializeIrp inizializza un determinato IRP allocato dal chiamante.

Sintassi

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

Parametri

[in, out] Irp

Puntatore all'IRP da inizializzare.

[in] PacketSize

Specifica le dimensioni in byte dell'IRP.

[in] StackSize

Specifica il numero di posizioni dello stack in IRP.

Valore restituito

nessuno

Osservazioni

I driver usano IoInitializeIrp per inizializzare i runtime di integrazione allocati come memoria non elaborata. Non usare IoInitializeIrp per inizializzare un IRP allocato da IoAllocateIrp. IoAllocateIrp inizializza automaticamente i membri dell'IRP.

I driver possono usare IoInitializeIrp per reinizializzare un IRP per il riutilizzo solo in determinate circostanze. Per informazioni dettagliate, vedere Riutilizzo dei runtime di integrazione .

Se il driver associa un MDL all'IRP allocato, il driver è responsabile del rilascio di MDL al termine dell'IRP.

Un driver intermedio o di livello più alto può anche chiamare IoBuildDeviceIoControlRequest, IoBuildAsynchronousFsdRequest o IoBuildSynchronousFsdRequest per configurare le richieste inviate ai driver di livello inferiore. Solo un driver di livello più alto può chiamare IoMakeAssociatedIrp.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), IoReuseIrp(wdm)

Vedi anche

IRP

IoAllocateIrp

IoAllocateMdl

IoBuildPartialMdl

IoFreeIrp

IoFreeMdl

IoReuseIrp

IoSetNextIrpStackLocation

IoSizeOfIrp