Partilhar via


Objetos e alças 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ção para lidar com transferências de e para pontos de extremidade.
  • Esses objetos são identificadores para objetos WDF e são criados pela UFX a pedido do driver do cliente. O tempo de vida de cada objeto é gerenciado pela 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 pela UFX a pedido do driver do cliente de função. Opcionalmente, o driver do cliente pode associar um contexto a esses objetos, que podem ser passados no momento da criação. Cada objeto WDF criado pelo UFX pode potencialmente ter 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 depois que o objeto WDF é criado.

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 finais 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
Desativa a comunicação do controlador de funções com o anfitrião.

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 deteção de portas.

Inicie o despertar remoto no controlador de funções EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL.

EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER
Inicia a deteção de carregadores proprietários.

EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET
Reinicia o carregador proprietário.


EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY Define as informações do carregador que utiliza para ativar o carregamento através de 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 endpoint padrão é sempre o endpoint de controle e o resto são objetos específicos da classe de driver. O driver do controlador da função cria o objeto no retorno de chamada EVT_UFX_DEVICE_ENDPOINT_ADD chamando o método UfxEndpointCreate.