Objetos e identificadores UFX usados por um driver de cliente de função USB
A extensão de classe de função USB (UFX) usa a funcionalidade de objeto WDF para definir esses objetos UFX específicos de USB.
Resumo
- Os objetos UFX são usados pelo driver do controlador de funções para lidar com transferências de e para pontos de extremidade.
- Esses objetos são identificadores para objetos WDF e são criados pelo UFX a pedido do driver cliente. O tempo de vida de cada objeto é gerenciado pelo UFX.
APIs importantes
A extensão de classe de função USB (UFX) usa a funcionalidade de objeto WDF para definir esses objetos UFX específicos de USB.
Esses objetos são identificadores para objetos WDF e são criados pelo UFX a pedido do driver do cliente de função. Opcionalmente, o driver de cliente pode associar um contexto a esses objetos que podem ser passados no momento da criação. Cada objeto WDF criado pelo UFX pode ter potencialmente dois contextos de dispositivo: um contexto de dispositivo definido pelo UFX no momento da criação do objeto; o outro contexto de dispositivo passado pelo driver do cliente e é definido no UFX usando WdfObjectAllocateContext após a criação do objeto WDF.
UFXDEVICE: objeto de dispositivo USB
Representa o dispositivo USB criado pelo controlador. O objeto é responsável por gerenciar estados USB de acordo com a especificação do protocolo USB e gerenciar um ou mais pontos de extremidade associados ao dispositivo USB. O driver do controlador de função cria esse objeto dentro do retorno de chamada EvtDriverDeviceAdd chamando o método UfxDeviceCreate .
EVT_UFX_DEVICE_HOST_CONNECT Inicia a conexão com o host.
EVT_UFX_DEVICE_HOST_DISCONNECT Desabilita a comunicação do controlador de funções com o host.
EVT_UFX_DEVICE_ADDRESSED Atribui um endereço no controlador de função.
EVT_UFX_DEVICE_ENDPOINT_ADD Cria um objeto de ponto de extremidade padrão.
EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD Cria um objeto de ponto de extremidade padrão.
EVT_UFX_DEVICE_USB_STATE_CHANGE Atualize o estado do dispositivo USB.
EVT_UFX_DEVICE_PORT_CHANGE Atualize o tipo da nova porta à qual o dispositivo USB está conectado.
EVT_UFX_DEVICE_PORT_DETECT Iniciar a detecção de porta.
EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL inicie a ativação remota no controlador de funções.
EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER Inicia a detecção de carregador proprietário.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET Redefine o carregador proprietário.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY Define as informações do carregador que ele usa para habilitar o carregamento por USB.
UFXENDPOINT: objeto de ponto de extremidade USB
Representa uma conexão lógica entre o host e o dispositivo. O objeto é responsável pela transferência de dados de/para o host. Para cada objeto de dispositivo, pode haver um ou mais pontos de extremidade. O ponto de extremidade padrão é sempre o ponto de extremidade de controle e rest são objetos específicos do driver de classe. O driver do controlador de função cria o objeto no retorno de chamada EVT_UFX_DEVICE_ENDPOINT_ADD chamando o método UfxEndpointCreate .