Compartilhar via


Objetos e identificadores UFX usados por um driver 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

  • 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 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 pela UFX pode ter potencialmente dois contextos de dispositivo: um contexto de dispositivo definido pela UFX no momento da criação do objeto; o outro contexto de dispositivo passado pelo driver do cliente e é definido na 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 de controlador de função cria esse objeto na callback 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ção com o host.

EVT_UFX_DEVICE_ADDRESSED
Atribui um endereço no controlador de funções.

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 atual 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 inicia a ativação remota no controlador de função.

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 os demais são objetos específicos de drivers 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 .