Partager via


Paramètres du Registre USB pour un pilote de contrôleur de fonction

Les oem doivent définir plusieurs valeurs de Registre pour s’assurer que leur appareil est énuméré avec les métadonnées appropriées lorsqu’il est connecté à un ordinateur. Ces valeurs spécifient des descripteurs d’appareil et de configuration pour les pilotes côté périphérique USB dans Windows. Les oem qui créent et incluent leurs propres interfaces doivent définir des valeurs de Registre supplémentaires pour que leurs interfaces soient chargées et utilisées.

Les clés de Registre liées aux pilotes USB côté périphérique se trouvent sous : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN

Cette rubrique décrit les paramètres de la clé et des sous-clés précédentes qui définissent les descripteurs d’appareil, de configuration et d’interface pour l’appareil.

Clé de Registre USBFN

Les informations de configuration du périphérique USB se trouvent dans le Registre sous : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN

Ce tableau décrit ses sous-clés. Certains d’entre eux peuvent être modifiés par les oem. Pour plus d’informations sur les valeurs prises en charge pour chaque sous-clé, consultez les sections ci-dessous.

Sous-clé Description
Alternatives Cette sous-clé contient des sous-clés supplémentaires qui décrivent une interface qui a un ou plusieurs autres paramètres.
Associations Cette sous-clé définit les descripteurs d’association d’interface (IAD). Chaque IAD permet de regrouper plusieurs interfaces en une seule fonction. Chaque sous-clé représente un IAD différent et les OEM peuvent modifier les valeurs de ces sous-clés.
Par défaut Cette sous-clé contient des valeurs par défaut utilisées pour décrire des paramètres spécifiques à l’appareil, tels que le VID et le PID. Il s’agit d’une sous-clé appartenant à Microsoft dont les valeurs sont remplacées par celles de la clé parente.
Configurations Cette sous-clé contient des sous-clés supplémentaires qui contiennent des valeurs de descripteur de configuration utilisées lors de l’énumération USB. Par exemple, la configuration de test standard peut exister sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\TestConfig.
Configurations\Default Il s’agit d’une sous-clé appartenant à Microsoft. Il contient des valeurs pour la configuration par défaut. Les interfaces de la configuration par défaut sont ajoutées avant la configuration actuelle présente lorsque la valeur IncludeDefaultCfg est définie sur 1 sous la clé HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN .
Interfaces Cette sous-clé contient des sous-clés supplémentaires qui décrivent des descripteurs d’interface spécifiques. Par exemple, l’interface IP sur USB peut résider sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfaces\IpOverUsb. Le nom de la sous-clé d’interface est également utilisé comme ID matériel du périphérique enfant USBFN pour le chargement du pilote de classe USBFn. Dans l’exemple IP sur USB, l’ID matériel du périphérique enfant USBFN est USBFN\IpOverUsb.

Ce tableau décrit les valeurs que les oem peuvent définir dans la cléHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN . Les valeurs qui ne sont pas définies dans cette clé supposent que les valeurs par défaut définies par Microsoft sousHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Default.

Tous les oem doivent définir les valeurs idVendor, idProduct, ManufacturerString et ProductString . Les oem qui créent et ajoutent leurs propres interfaces doivent également définir CurrentConfiguration sur le nom de la sous-clé sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations qui inclut leurs interfaces dans interfaceList.

Valeur Type Propriétaire Description
IncludeDefaultCfg REG_DWORD OEM Définissez sur 1 lorsque les oem souhaitent inclure les interfaces de la configuration par défaut, comme IpOverUsb ou MTP.
idVendor REG_DWORD OEM Identificateur de fournisseur du descripteur d’appareil envoyé à l’hôte pendant l’énumération.
idProduct REG_DWORD OEM Identificateur de produit du descripteur d’appareil envoyé à l’hôte pendant l’énumération.
ManufacturerString REG_SZ OEM Chaîne du fabricant envoyée à l’hôte pour identifier le fabricant de l’appareil.
ProductString REG_SZ OEM Chaîne qui décrit l’appareil en tant que produit. La valeur par défaut est Windows 10 Mobile Appareil. Cette valeur est utilisée comme nom d’affichage de l’appareil dans l’interface utilisateur de l’ordinateur connecté. Les oem doivent s’assurer que cette valeur correspond à la valeur de PhoneModelName sous la sous-clé DeviceTargetingInfo.
iSerialNumber REG_DWORD OEM Si cette valeur est définie sur 0, l’appareil n’a pas de numéro de série. Si cette valeur n’est pas égale à zéro ou n’existe pas, le numéro de série est généré de manière unique par appareil.
CurrentConfiguration REG_SZ OEM Cette chaîne doit correspondre au nom d’une sous-clé de configuration. Cette chaîne détermine la configuration à utiliser pour générer un descripteur de configuration pour l’énumération de périphérique USB.
ClassEndpointRequestEnabled REG_DWORD OEM Définissez sur 1 lorsque vous souhaitez indiquer que les demandes de point de terminaison de classe sont acceptées. Les demandes de point de terminaison de classe ne sont pas acceptées par défaut. Définissez sur 0 (ou ne définissez pas cette valeur de Registre) lorsque vous souhaitez indiquer que les demandes de point de terminaison de classe ne sont pas acceptées ou ne sont acceptées que pour des interfaces spécifiques. Consultez la valeur ClassEndpointRequestEnabled dans la section Clé de Registre USBFN\Interfaces pour savoir comment accepter les demandes de point de terminaison de classe pour des interfaces spécifiques.

Clé de Registre USBFN\Configurations

Ce tableau décrit les valeurs que les oem peuvent définir pour les sous-clés sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations. Chaque sous-clé représente une configuration USB différente. Si l’OEM souhaite créer sa propre interface, il doit définir une nouvelle configuration qui contient les interfaces à utiliser. Pour ce faire, créez une sous-clé sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations qui utilise le nom de la configuration et renseignez la sous-clé avec les valeurs de cette table. En outre, pour que le pilote USB utilise la nouvelle configuration, la valeur CurrentConfiguration (décrite dans le tableau précédent) doit être définie sur le nom de la sous-clé de configuration.

Valeur Type Propriétaire Description
InterfaceList REG_MULTI_SZ OEM ou Microsoft Contient une liste de noms d’interface qui correspondent aux sous-clés d’interface sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfaces, les associations IAD définies sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Associationset les interfaces alternatives définies sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Alternates. Ces clés déterminent les interfaces utilisées pour décrire le descripteur de configuration composite.

Si la valeur IncludeDefaultCfg sous la cléHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN est définie sur 1, cette liste est ajoutée à la liste des interfaces par défaut appartenant à Microsoft pour créer la liste complète des interfaces que l’appareil utilisera pour énumérer.
MSOSCompatIdDescriptor REG_BINARY OEM ou Microsoft facultatif. Définit un descripteur de fonctionnalité de système d’exploitation d’ID de compat étendu pour la configuration. Si la valeur IncludeDefaultCfg sous la clé HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN est définie sur 1, les fonctions de ce descripteur sont ajoutées aux fonctions et interfaces dans la configuration par défaut.

Clé de Registre USBFN\Interfaces

Ce tableau décrit les valeurs que les fabricants OEM peuvent modifier pour les sous-clés sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfaces.

Chaque sous-clé représente une interface USB différente. Pour définir une interface, créez une sous-clé sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfaces en utilisant le nom de l’interface, puis renseignez-la avec les valeurs du tableau ci-dessous. En outre, une interface n’est incluse que si l’interface fait partie de l’InterfaceList de CurrentConfiguration.

Valeur Type Propriétaire Description
InterfaceDescriptor REG_BINARY OEM ou Microsoft Représentation binaire d’un descripteur d’interface à envoyer à l’hôte pendant l’énumération USB. Les valeurs bInterfaceNumber et iInterface sont automatiquement remplies par la pile de fonctions USB après la compilation d’un descripteur de configuration complet pour éviter les conflits avec d’autres descripteurs d’interface.
InterfaceGUID REG_SZ OEM ou Microsoft GUID qui identifie de manière unique une interface sur le bus.
Numéro d’interface REG_DWORD OEM ou Microsoft facultatif. Cette valeur est utilisée pour affecter un numéro d’interface fixe à une fonction. Les numéros d’interface 0-1F sont réservés aux fonctions héritées, 20-3F sont réservés à Microsoft et 40-5F sont réservés aux oem.
MSOSExtendedPropertyDescriptor REG_BINARY OEM ou Microsoft facultatif. Définit un descripteur de fonctionnalité de système d’exploitation de propriété étendue pour l’interface.
ClassEndpointRequestEnabled REG_DWORD OEM Cette valeur de Registre n’est valide que lorsque HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\ClassEndpointRequestEnabledn’est pas présent ou est défini sur 0. Définissez cette valeur de Registre sur 1 lorsque vous souhaitez indiquer que les demandes de point de terminaison de classe pour cette interface sont acceptées. Définissez sur 0 (ou ne définissez pas cette valeur de Registre) lorsque vous souhaitez indiquer que les demandes de point de terminaison de classe pour cette interface ne sont pas acceptées.

Clé de Registre USBFN\Alternates

La sous-clé alternates est utilisée pour définir une interface unique qui a une ou plusieurs interfaces alternatives. Ce tableau décrit les valeurs que les fabricants OEM peuvent modifier pour les sous-clés sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Alternates.

Chaque sous-clé représente une interface différente. Pour définir une interface avec d’autres paramètres, créez une sous-clé sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Alternates en utilisant le nom de l’interface et renseignez-la avec les valeurs du tableau ci-dessous.

Valeur Type Propriétaire Description
InterfaceList REG_MULTI_SZ OEM ou Microsoft Liste de deux autres noms d’interface qui correspondent aux interfaces définies sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfaces. Cette clé définit collectivement une interface avec d’autres paramètres. La première interface correspond à l’autre paramètre 0, la deuxième interface correspond à l’autre paramètre 1, et ainsi de suite.
Numéro d’interface REG_DWORD OEM ou Microsoft facultatif. Cette valeur est utilisée pour affecter un numéro d’interface fixe à une fonction. Les numéros d’interface 0-1F sont réservés aux fonctions héritées, 20-3F sont réservés à Microsoft et 40-5F sont réservés aux oem.
MSOSExtendedPropertyDescriptor REG_BINARY OEM ou Microsoft facultatif. Définit un descripteur de fonctionnalité de système d’exploitation de propriété étendue pour l’interface.

Clé de Registre USBFN\Associations

Les fabricants OEM peuvent spécifier des associations en définissant des descripteurs d’association d’interface (IAD). Chaque IAD permet de regrouper plusieurs interfaces en une seule fonction. Ce tableau décrit les valeurs que les fabricants OEM peuvent modifier pour les sous-clés sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Associations.

Chaque sous-clé représente un IAD différent. Pour définir une association, créez une sous-clé sous HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Associations en utilisant le nom de l’IAD et renseignez-la avec les valeurs du tableau ci-dessous.

Valeur Type Propriétaire Description
InterfaceList REG_MULTI_SZ OEM ou Microsoft Liste des interfaces ou d’autres interfaces associées à une fonction USB. Si la taille de la liste est inférieure à 2, la pile des pilotes de fonction ne parvient pas à se charger. D’autres fonctions ou interfaces continuent de se charger.
bFunctionClass REG_DWORD OEM ou Microsoft Code de classe de la fonction, défini sur 02.
bFunctionSubClass REG_DWORD OEM ou Microsoft Code de sous-classe de la fonction, défini sur 0d.
bFunctionProtocol REG_DWORD Code de protocole de la fonction, défini sur 01.
MSOSExtendedPropertyDescriptor REG_BINARY OEM ou Microsoft facultatif. Définit un descripteur de fonctionnalité de système d’exploitation de propriété étendue pour l’interface.

MirrorLink est une norme d’interopérabilité qui permet l’intégration entre les appareils mobiles et les systèmes d’infodivertissement automobile. L’appareil doit exposer une interface NCM CDC USB au client MirrorLink. En tant qu’appareil CDC (Communications Device Class), il est nécessaire de décrire les interfaces de données à l’aide d’un descripteur IAD (Interface Association Descriptor) et/ou d’un descripteur d’union de fonction CDC.

Pour activer la connectivité MirrorLink sur Windows 10 Mobile’appareil, l’OEM doit apporter ces modifications pour exposer un IAD.

  • Créez une association pour les interfaces de communication et de données à l’aide d’un descripteur d’association d’interface (IAD) en définissant les valeurs de Registre indiquées dans le tableau précédent.

  • En plus des paramètres du Registre, définissez cette valeur de Registre sur une valeur différente de zéro.

    Valeur Type Propriétaire Description
    MirrorLink REG_DWORD OEM ou Microsoft Une valeur autre que zéro indique que l’interface prend en charge MirrorLink. La pile de fonctions USB ne bloque pas la commande USB MirrorLink.
  • Des descripteurs spécifiques à une classe peuvent être inclus dans le jeu de descripteur d’interface défini dans le Registre. Le champ de taille doit être défini dans ces descripteurs afin que la pile de pilotes de fonction USB puisse les analyser avec précision.

Un descripteur d’union de fonction CDC peut également être défini comme un descripteur d’interface Class-Specific ; Toutefois, les numéros d’interface spécifiés par le descripteur Union sont statiques et ne sont pas attribués par la pile de pilotes de fonction USB, et la présence d’un descripteur Union n’entraîne pas l’association des interfaces décrites par celui-ci à une seule AOP enfant. Un IAD est requis pour cette association.