Compartir a través de


Creación de archivos mediante un destino de E/S USB

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.

Durante su inicialización, el destino de E/S USB crea un objeto de archivo dentro de la pila, que representa una sesión predeterminada que el destino de E/S USB mantiene abierta. Para obtener más información sobre un objeto de archivo dentro de la pila, vea Crear un objeto de archivo para controlar la E/S. El destino de E/S USB o sus elementos secundarios de destino de canalización USB usan este objeto de archivo para enviar cualquier E/S que originen (por ejemplo, E/S para obtener el descriptor de configuración USB).

El controlador puede usar este objeto de archivo dentro de la pila en funciones de formato (por ejemplo, el controlador puede pasar un puntero a este objeto de archivo al parámetro pFile en una llamada al método IWDFIoTarget::FormatRequestForRead ) si el controlador debe enviar E/S en la sesión predeterminada de este objeto de archivo. Para obtener el objeto de archivo dentro de la pila, el controlador puede llamar al método IWDFIoTarget::GetTargetFile .

Este objeto de archivo dentro de la pila se cierra cuando el destino de E/S se elimina explícitamente, cuando el controlador llama al método IWDFObject::D eleteWdfObject en el destino de E/S o implícitamente, cuando se elimina el elemento primario del destino de E/S.

Si alguna E/S permanece pendiente en este objeto de archivo dentro de la pila en el momento de la eliminación del dispositivo, este objeto de archivo no se cerrará y UMDF generará una detención del controlador. Para obtener más información, vea Crear y usar Driver-Created objetos de archivo.