Compartir a través de


Rutina de descarga del controlador que no es PnP

Los controladores anteriores y los controladores del sistema de archivos de alto nivel, que no controlan las solicitudes de eliminación de dispositivos PnP, deben liberar recursos, eliminar objetos de dispositivo y desasociar de la pila de dispositivos en sus rutinas de descarga .

Si aún no lo ha hecho, lo primero que debe hacer un controlador de dispositivo heredado en su rutina De descarga es deshabilitar las interrupciones del dispositivo. De lo contrario, es posible que se llame a su ISR para controlar una interrupción del dispositivo mientras la rutina De descarga libera recursos en la extensión del dispositivo que el ISR necesita para controlar la interrupción. Incluso si su ISR se ejecuta correctamente en estas circunstancias, la rutina DpcForIsr o CustomDpc que las colas de ISR y, posiblemente, otras rutinas de controlador que se ejecutan en IRQL >= DISPATCH_LEVEL, se ejecutarán antes de que la rutina Unload recupere el control, lo que aumenta la probabilidad de que la rutina Unload haya eliminado un recurso al que hace referencia otra rutina de controlador. Consulte Administración de prioridades de hardware para obtener más información.

Después de deshabilitar las interrupciones, el sistema de archivos y los controladores heredados deben liberar recursos y objetos. Para más información, consulte las dos secciones siguientes:

Liberar recursos de Driver-Allocated

Liberar objetos de dispositivo y controlador