Objetos y identificadores UFX utilizados por un controlador cliente de función USB
La extensión de clase de función USB (UFX) usa la funcionalidad del objeto WDF para definir estos objetos UFX específicos de USB.
Resumen
- El controlador del controlador de funciones usa objetos UFX para controlar las transferencias hacia y desde los puntos de conexión.
- Estos objetos son identificadores de objetos WDF y se crean mediante UFX a petición del controlador cliente. UfX administra la duración de cada objeto.
API importantes
La extensión de clase de función USB (UFX) usa la funcionalidad del objeto WDF para definir estos objetos UFX específicos de USB.
Estos objetos son identificadores de objetos WDF y se crean mediante UFX a petición del controlador de cliente de función. Opcionalmente, el controlador de cliente puede asociar un contexto a estos objetos que se pueden pasar en el momento de la creación. Cada objeto WDF creado por UFX puede tener potencialmente dos contextos de dispositivo: un contexto de dispositivo establecido por UFX en el tiempo de creación del objeto; el otro contexto de dispositivo pasado por el controlador de cliente y se establece en UFX mediante WdfObjectAllocateContext después de crear el objeto WDF.
UFXDEVICE: objeto de dispositivo USB
Representa el dispositivo USB creado por el controlador. El objeto es responsable de administrar los estados USB según la especificación del protocolo USB y administrar uno o varios puntos de conexión asociados al dispositivo USB. El controlador del controlador de función crea este objeto dentro de la devolución de llamada EvtDriverDeviceAdd llamando al método UfxDeviceCreate .
EVT_UFX_DEVICE_HOST_CONNECT Inicia la conexión con el host.
EVT_UFX_DEVICE_HOST_DISCONNECT Deshabilita la comunicación del controlador de función con el host.
EVT_UFX_DEVICE_ADDRESSED Asigna una dirección en el controlador de función.
EVT_UFX_DEVICE_ENDPOINT_ADD Crea un objeto de punto de conexión predeterminado.
EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD Crea un objeto de punto de conexión predeterminado.
EVT_UFX_DEVICE_USB_STATE_CHANGE Actualice el estado del dispositivo USB.
EVT_UFX_DEVICE_PORT_CHANGE Actualice el tipo del nuevo puerto al que está conectado el dispositivo USB.
EVT_UFX_DEVICE_PORT_DETECT Iniciar la detección de puertos.
EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL inicie la reactivación remota en el controlador de función.
EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER Inicia la detección de cargadores propietarios.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET Restablece el cargador propietario.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY Establece la información del cargador que usa para habilitar la carga a través de USB.
UFXENDPOINT: objeto de punto de conexión USB
Representa una conexión lógica entre el host y el dispositivo. El objeto es responsable de la transferencia de datos hacia y desde el host. Para cada objeto de dispositivo puede haber uno o varios puntos de conexión. El punto de conexión predeterminado es siempre el punto de conexión de control y el resto son objetos específicos del controlador de clase. El controlador del controlador de función crea el objeto en la devolución de llamada EVT_UFX_DEVICE_ENDPOINT_ADD llamando al método UfxEndpointCreate .