Condividi tramite


Funzione IoFreeIrp (wdm.h)

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

Sintassi

void IoFreeIrp(
  [in] PIRP Irp
);

Parametri

[in] Irp

Puntatore all'IRP che deve essere rilasciato.

Valore restituito

nessuno

Osservazioni

Questa routine è la reciproca a IoAllocateIrp o IoBuildAsynchronousFsdRequest. L'IRP rilasciato deve essere stato allocato dal chiamante.

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

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

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

Vedi anche

IoAllocateIrp

IoBuildAsynchronousFsdRequest

IoCompletion

IoMakeAssociatedIrp

IoSetCompletionRoutine