Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O UCX executa o gerenciamento de hub raiz. Ele simula e gerencia pontos de extremidade de controle e interrupção virtuais. O UCX cria esses pontos de extremidade virtuais quando o driver do controlador de host cria o objeto do hub raiz.
O driver do hub USB interage com o hub raiz da mesma forma que interage com um dispositivo de hub regular. No entanto, o driver do controlador de host não precisa lidar diretamente com as solicitações enviadas ao hub raiz para os endpoints de controle e interrupção. O UCX manipula essas solicitações. O UCX invoca funções de retorno de chamada implementadas pelo driver do controlador de host para que ele possa retornar informações relevantes sobre o estado atual das portas do controlador de host. Quando esses callbacks são concluídos, as solicitações subjacentes do UCX são finalizadas e retornadas ao driver do hub.
Ao receber uma transferência de interrupção para o hub raiz, o UCX define a solicitação como pendente. Quando uma alteração é detectada em uma das portas do hub raiz, o driver do controlador de host chama UcxRootHubPortChanged. O UCX, então, invoca o callback EVT_UCX_ROOTHUB_INTERRUPT_TX do driver, e o driver indica que a porta foi alterada. Neste momento, o UCX conclui a solicitação pendente de volta para o driver do hub. O driver do hub envia uma transferência de controle para o hub raiz, para obter o status da porta que sinalizou uma alteração. O UCX marca essa solicitação de transferência de controle como pendente e invoca a função de retorno de chamada EVT_UCX_ROOTHUB_CONTROL_URB do driver. Na implementação, retorna o status atual da porta do hub raiz, incluindo a indicação de que um dispositivo está conectado. O UCX conclui a solicitação de transferência de controle para o driver do hub e a enumeração do dispositivo continua.