Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
UCX effectue la gestion du hub racine. Il simule et gère les points de terminaison virtuels de contrôle et d'interruption. UCX crée ces points de terminaison virtuels lorsque le pilote du contrôleur hôte crée l’objet hub racine.
Le pilote du hub USB interagit avec le hub racine de la même façon qu’il interagit avec un appareil hub standard. Toutefois, le pilote du contrôleur hôte n’a pas besoin de gérer directement les demandes envoyées au hub racine pour les points de terminaison de contrôle et d’interruption. UCX gère ces demandes. UCX appelle les fonctions de rappel implémentées par le pilote du contrôleur hôte afin qu’elle puisse retourner des informations pertinentes sur l’état actuel des ports du contrôleur hôte. Lorsque ces fonctions de rappel sont terminées, les requêtes UCX sous-jacentes sont terminées et retournées au pilote hub.
Lors de la réception d’un transfert d’interruption pour le hub racine, UCX définit la requête comme étant en attente. Lorsqu’une modification est détectée sur l’un des ports du hub racine, le pilote du contrôleur hôte appelle UcxRootHubPortChanged. UCX appelle ensuite le rappel EVT_UCX_ROOTHUB_INTERRUPT_TX du pilote, et le pilote indique que le port a été changé. À ce stade, UCX finalise la requête en attente vers le pilote de concentrateur. Le pilote hub envoie un transfert de contrôle au hub racine pour obtenir l’état du port du port qui a signalé une modification. UCX définit la demande de transfert comme étant en attente et appelle la fonction de rappel EVT_UCX_ROOTHUB_CONTROL_URB du pilote. Dans l’implémentation retourne l’état actuel du port du hub racine, y compris l’indication qu’un appareil est connecté. UCX termine la demande de transfert de contrôle vers le pilote du concentrateur, et l'énumération du périphérique se poursuit.