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 .