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) |