Fonction IoFreeIrp (wdm.h)
La routine IoFreeIrp libère un IRP alloué par l’appelant à partir de la routine IoCompletion de l’appelant.
Syntaxe
void IoFreeIrp(
[in] PIRP Irp
);
Paramètres
[in] Irp
Pointeur vers l’IRP à libérer.
Valeur de retour
Aucun
Remarques
Cette routine est la réciproque à IoAllocateIrp ou IoBuildAsynchronousFsdRequest. L’IRP publié doit avoir été alloué par l’appelant.
Cette routine libère également un IRP alloué avec IoMakeAssociatedIrp dans lequel l’appelant a configuré sa routine IoCompletion qui retourne STATUS_MORE_PROCESSING_REQUIRED pour l’IRP associé.
IoFreeIrp ne libère aucun MDL susceptible d’être attaché à l’IRP. Le pilote qui libère l’IRP doit libérer explicitement ces DLL MDL. En outre, si les pages physiques décrites par un MDL sont verrouillées, le pilote doit déverrouiller les pages avant de libérer le MDL. Toutefois, le pilote n’a pas besoin d’annuler explicitement le mappage de ces pages. Au lieu de cela, IoFreeMdl annule automatiquement le mappage des pages lorsqu’il libère le MDL. Pour obtenir un exemple de code qui montre comment libérer une chaîne MDL, consultez Utilisation de MDLs.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 2000. |
plateforme cible | Universel |
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
règles de conformité DDI | HwStorPortProhibitedDDIs(storport), IoAllocateFree(wdm), IoBuildDeviceControlNoFree(wdm), IoBuildFsdFree(wdm), IoBuildSynchronousFsdRequestNoFree(wdm), IoFreeIrp(storport) |