Jerarquía de objetos de marco
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.
En la ilustración siguiente se muestra la jerarquía de objetos del marco de trabajo primario-secundario.
El ámbito de duración de los objetos de marco viene determinado por su ubicación en la jerarquía y cómo se crean los objetos. El ámbito de duración de los objetos de marco se divide en una de las siguientes categorías:
El marco controla la creación y destrucción de los objetos.
El marco crea y destruye objetos, como el objeto de controlador y el objeto de dispositivo, en respuesta a los eventos del sistema. Cuando un controlador en modo de usuario llama al método IWDFDriver::CreateDevice para crear el objeto de dispositivo, el controlador puede registrarse opcionalmente para que el marco notifique antes de que se destruya el objeto de dispositivo.
El marco crea el objeto ; sin embargo, el controlador controla cuando se libera el objeto.
El objeto de solicitud de E/S sigue este patrón cuando se presenta la E/S al controlador. El marco crea el objeto de solicitud y la duración del objeto de solicitud es válida hasta que el controlador llama al método IWDFIoRequest::Complete .
El controlador crea el objeto y asocia el objeto a otro objeto de marco.
Algunos objetos de marco se crean mediante un método expuesto por una instancia de objeto de marco principal a la que se asociarán los objetos con fines de administración de duración. El método IWDFDevice::CreateIoQueue es un ejemplo de este patrón. Si una llamada a IWDFDevice::CreateIoQueue se realiza correctamente, la cola de E/S recién creada se asocia a la instancia del dispositivo que representa la interfaz IWDFDevice . Cuando se destruye el objeto primario, el marco limpia automáticamente las instancias secundarias. Los controladores reciben una notificación de estos eventos si los controladores registran las funciones de devolución de llamada adecuadas con el marco de trabajo.