Flujo de operación con pila de dispositivos doble
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 actualización de ejemplos de controladores de Windows 11, versión 22H2 - mayo de 2022.
Para obtener más información, consulta Introducción con UMDF.
En la ilustración siguiente se muestra el flujo de operaciones que se producen hacia y desde los controladores funcionales y de filtro UMDF en una pila de dispositivos doble.
Nota Todas las E/S iniciadas por las aplicaciones se enrutan a través del modo kernel, como se muestra en las figuras de la sección Arquitectura de la UMDF , aunque la ilustración anterior no muestre esta situación.
Los controladores de función y filtro UMDF también pueden llamar al método IWDFIoRequest::GetCreateParameters si requieren información sobre el archivo asociado a la solicitud de lectura. Los controladores de función y filtro UMDF también pueden llamar al método IWDFIoRequest::GetReadParameters si requieren más información sobre la solicitud de lectura.
El controlador funcional de UMDF llama al método IWDFIoRequest::Complete o IWDFIoRequest::CompleteWithInformation para indicar al controlador de filtro que se realiza con la operación de lectura. El controlador de filtro UMDF también podría llamar a métodos de la interfaz IWDFIoRequestCompletionParams si requiere más información para completar la solicitud de lectura. El controlador de filtro UMDF llama a Complete o CompleteWithInformation para indicar que la operación de lectura está completa; Después, la aplicación puede acceder a los datos de lectura.