Destinos de E/S generales en UMDF

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.

Los destinos de E/S generales, que pueden ser locales o remotos, son destinos de E/S que no admiten formatos de datos especiales específicos del dispositivo, como bloques de solicitudes USB. Antes de que los controladores envíen datos a un destino de E/S general, deben colocar los datos en un búfer de escritura en un formato que el destino de E/S y el dispositivo puedan interpretar. Del mismo modo, cuando los controladores leen datos de un destino de E/S general, los controladores deben poder interpretar el contenido de los búferes de datos que reciben del destino.

Destinos de E/S locales
Los controladores suelen enviar solicitudes de E/S al siguiente controlador inferior en la pila de controladores. Por lo tanto, cada controlador basado en UMDF tiene un destino de E/S predeterminado para cada dispositivo, que es el siguiente controlador inferior del dispositivo. El destino de E/S predeterminado para el controlador basado en UMDF de nivel más bajo es el reflector en modo kernel.

A veces, un controlador basado en UMDF debe enviar solicitudes de E/S a un destino de E/S basado en identificador de archivo, como un archivo o un socket de red. Por lo tanto, el marco también proporciona objetos de destino de E/S basados en identificadores de archivo.

Tanto el destino de E/S predeterminado como los destinos de E/S basados en el controlador de archivos se denominan destinos de E/S locales, ya que los controladores basados en UMDF usan estos destinos para enviar solicitudes de E/S a los dispositivos que admite la pila de controladores.

Destinos de E/S remotos
En ocasiones, un controlador debe enviar una solicitud de E/S a una pila de controladores diferente. Por lo tanto, el marco también proporciona destinos de E/S remotos, que constan de todos los destinos de E/S excepto los destinos de E/S locales.

Un destino de E/S remoto puede ser un dispositivo que la pila de controladores no admite, un archivo en ese dispositivo o una interfaz de dispositivo para ese dispositivo.

En las secciones siguientes se describe cómo inicializar y usar un destino de E/S general: