Condividi tramite


Funzione IoFreeIrp (wdm.h)

La routine IoFreeIrp rilascia un IRP allocato dal chiamante routine IoCompletion del chiamante.

Sintassi

void IoFreeIrp(
  [in] PIRP Irp
);

Parametri

[in] Irp

Puntatore all'IRP da rilasciare.

Valore restituito

Nessuno

Osservazioni

Questa routine è il reciproco per IoAllocateIrp o IoBuildAsynchronousFsdRequest. L'IRP rilasciato deve essere stato allocato dal chiamante.

Questa routine rilascia anche un IRP allocato con IoMakeAssociatedIrp in cui il chiamante ha configurato il routine IoCompletion che restituisce STATUS_MORE_PROCESSING_REQUIRED per l'IRP associato.

IoFreeIrp non libera alcun MDL che potrebbe essere collegato all'IRP. Il driver che libera l'IRP deve liberare in modo esplicito questi MDLs. Inoltre, se le pagine fisiche descritte da un MDL sono bloccate, il driver deve sbloccare le pagine prima di liberare il file MDL. Tuttavia, il driver non deve rimuovere in modo esplicito il mapping di queste pagine. Al contrario, IoFreeMdl annulla automaticamente il mapping delle pagine quando libera il file MDL. Per un esempio di codice che illustra come liberare una catena MDL, vedere Using MDLs.

Fabbisogno

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), IoAllocateFree(wdm), IoBuildDeviceControlNoFree(wdm), IoBuildFsdFree(wdm), IoBuildSynchronousFsdRequestNoFree(wdm), IoFreeIrp(storport)

Vedere anche

IoAllocateIrp

IoBuildAsynchronousFsdRequest

IoCompletion

IoMakeAssociatedIrp

IoSetCompletionRoutine