Compartir a través de


Función IoFreeIrp (wdm.h)

La rutina IoFreeIrp libera un IRP asignado por el autor de la llamada de la rutina IoCompletion.

Sintaxis

void IoFreeIrp(
  [in] PIRP Irp
);

Parámetros

[in] Irp

Puntero al IRP que se va a liberar.

Valor devuelto

Ninguno

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 configuró 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 descritas por una 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, consulte Using MDLs.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= DISPATCH_LEVEL
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), IoAllocateFree(wdm), IoBuildDeviceControlNoFree(wdm), ioBuildFsdFree(wdm), IoBuildSynchronousFsdRequestNoFree(wdm), IoFreeIrp(storport)

Consulte también

ioAllocateIrp

IoBuildAsynchronousFsdRequest

IoCompletion

ioMakeAssociatedIrp

IoSetCompletionRoutine