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)

Consulte también

IoAllocateIrp

IoBuildAsynchronousFsdRequest

IoCompletion

IoMakeAssociatedIrp

IoSetCompletionRoutine