Función IoFreeIrp (wdm.h)
La rutina IoFreeIrp libera un IRP asignado por el autor de la llamada de la rutina IoCompletion del autor de la llamada.
Sintaxis
void IoFreeIrp(
[in] PIRP Irp
);
Parámetros
[in] Irp
Puntero al IRP que se va a liberar.
Valor devuelto
None
Observaciones
Esta rutina es la recíproca a IoAllocateIrp o IoBuildAsynchronousFsdRequest. El autor de la llamada debe haber asignado el IRP liberado.
Esta rutina también libera un IRP asignado con IoMakeAssociatedIrp en el que el autor de la llamada configura su rutina de IoCompletion que devuelve STATUS_MORE_PROCESSING_REQUIRED para el IRP asociado.
IoFreeIrp no libera ningún MDL que se pueda adjuntar al IRP. El controlador que libera el IRP debe liberar explícitamente estas MDL. Además, si las páginas físicas que describe un MDL están bloqueadas, el controlador debe desbloquear las páginas antes de liberar la MDL. Sin embargo, el controlador no necesita desasignación explícita de estas páginas. En su lugar, IoFreeMdl desasignación automática de las páginas cuando libera MDL. Para obtener un ejemplo de código que muestra cómo liberar una cadena MDL, consulta Uso de MDL.
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 | HwStorPortProhibitedDDIs(storport), IoAllocateFree(wdm), IoBuildDeviceControlNoFree(wdm), IoBuildFsdFree(wdm), IoBuildSynchronousFsdRequestNoFree(wdm), IoFreeIrp(storport) |