Eliminar un objeto de interrupción
Advertencia
UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2.
Los ejemplos de UMDF 1 archivados se pueden encontrar en la Windows 11, versión 22H2 : actualización de ejemplos de controladores de mayo de 2022.
Para obtener más información, consulta Introducción con UMDF.
Si el controlador crea un objeto de interrupción llamando a IWDFDevice3::CreateInterrupt, el controlador no necesita eliminar el objeto de interrupción. El marco elimina el objeto de interrupción automáticamente porque el objeto de interrupción es un objeto secundario del objeto de dispositivo de marco.
El marco de trabajo usa las siguientes reglas:
Si el controlador llama a CreateInterrupt desde su método de devolución de llamada OnPrepareHardware , el marco elimina el objeto de interrupción después de que el controlador vuelva de su devolución de llamada OnReleaseHardware .
Si el controlador llama a CreateInterrupt desde su método de devolución de llamada OnDeviceAdd , el marco elimina el objeto de interrupción cuando se quita el dispositivo.
Opcionalmente, el controlador puede llamar a IWDFObject::D eleteWdfObject para eliminar un objeto de interrupción en cualquier momento. Dado que un controlador no puede crear un nuevo objeto de interrupción fuera de OnDeviceAdd o OnPrepareHardware, no se debe usar la eliminación manual del objeto a menos que el controlador deba quitar el objeto antes de que el marco lo elimine.