Freigeben über


USB-Registrierungseinstellungen für einen Funktionscontrollertreiber

OEMs müssen mehrere Registrierungswerte festlegen, um sicherzustellen, dass ihr Gerät die richtigen Metadaten enthält, wenn es mit einem Computer verbunden ist. Diese Werte geben Geräte- und Konfigurationsdeskriptoren für die USB-geräteseitigen Treiber in Windows an. OEMs, die eigene Schnittstellen erstellen und einschließen, müssen zusätzliche Registrierungswerte festlegen, damit ihre Schnittstellen geladen und verwendet werden können.

Registrierungsschlüssel im Zusammenhang mit den geräteseitigen USB-Treibern befinden sich unter :HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN

In diesem Thema werden die Einstellungen für die vorherigen Schlüssel und Unterschlüssel beschrieben, die die Geräte-, Konfigurations- und Schnittstellendeskriptoren für das Gerät definieren.

USBFN-Registrierungsschlüssel

Konfigurationsinformationen für das USB-Gerät befinden sich in der Registrierung unter :HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN

In dieser Tabelle werden die Unterschlüssel beschrieben. Einige davon können von OEMs geändert werden. Weitere Informationen zu den unterstützten Werten für jeden Unterschlüssel finden Sie in den folgenden Abschnitten.

Unterschlüssel BESCHREIBUNG
Alternative Stile Dieser Unterschlüssel enthält zusätzliche Unterschlüssel, die eine Schnittstelle mit einer oder mehreren alternativen Einstellungen beschreiben.
Associations Dieser Unterschlüssel definiert Schnittstellenzuordnungsdeskriptoren (Interface Association Descriptors, IADs). Jeder IAD ermöglicht es, mehrere Schnittstellen in einer einzigen Funktion zu gruppieren. Jeder Unterschlüssel stellt einen anderen IAD dar, und OEMs können die Werte für diese Unterschlüssel ändern.
Standard Dieser Unterschlüssel enthält Standardwerte, die verwendet werden, um gerätespezifische Einstellungen wie VID und PID zu beschreiben. Hierbei handelt es sich um einen Microsoft-eigenen Unterschlüssel, dessen Werte von denen im übergeordneten Schlüssel überschrieben werden.
Konfigurationen Dieser Unterschlüssel enthält zusätzliche Unterschlüssel, die Konfigurationsdeskriptorwerte enthalten, die während der USB-Enumeration verwendet werden. Die Standardtestkonfiguration kann beispielsweise unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\TestConfigvorhanden sein.
Konfigurationen\Standard Hierbei handelt es sich um einen Microsoft-eigenen Unterschlüssel. Sie enthält Werte für die Standardkonfiguration. Die Schnittstellen in der Standardkonfiguration werden hinzugefügt, bevor die aktuelle Konfiguration vorhanden ist, wenn der IncludeDefaultCfg-Wert unter dem HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN-Schlüssel auf 1 festgelegt ist.
Schnittstellen Dieser Unterschlüssel enthält zusätzliche Unterschlüssel, die bestimmte Schnittstellendeskriptoren beschreiben. Beispielsweise kann sich die IP-über-USB-Schnittstelle unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfaces\IpOverUsbbefinden. Der Name des Schnittstellenunterschlüssels wird auch als Hardware-ID des untergeordneten USBFN-Geräts zum Laden des USBFn-Klassentreibers verwendet. Im Beispiel IP über USB lautet die Hardware-ID des untergeordneten USBFN-Geräts USBFN\IpOverUsb.

In dieser Tabelle werden die Werte beschrieben, die OEMs im HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN-Schlüssel definieren können. Werte, die in diesem Schlüssel nicht definiert sind, gehen von den Standardwerten aus, die von Microsoft unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Defaultdefiniert sind.

Alle OEMs müssen die Werte idVendor, idProduct, ManufacturerString und ProductString festlegen. OEMs, die eigene Schnittstellen erstellen und hinzufügen, müssen CurrentConfiguration auch auf den Namen des Unterschlüssels unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations festlegen, der ihre Schnittstellen in der InterfaceList enthält.

Wert Typ Besitzer BESCHREIBUNG
IncludeDefaultCfg REG_DWORD OEM Legen Sie auf 1 fest, wenn OEMs die Schnittstellen der Standardkonfiguration wie IpOverUsb oder MTP einschließen möchten.
idVendor REG_DWORD OEM Der Anbieterbezeichner für den Gerätedeskriptor, der während der Enumeration an den Host gesendet wird.
idProduct REG_DWORD OEM Der Produktbezeichner für den Gerätedeskriptor, der während der Enumeration an den Host gesendet wird.
ManufacturerString REG_SZ OEM Die Herstellerzeichenfolge, die an den Host gesendet wird, um den Hersteller des Geräts zu identifizieren.
ProductString REG_SZ OEM Eine Zeichenfolge, die das Gerät als Produkt beschreibt. Der Standardwert ist Windows 10 Mobile Device. Dieser Wert wird als Anzeigename des Geräts auf der Benutzeroberfläche des verbundenen Computers verwendet. OEMs sollten sicherstellen, dass dieser Wert mit dem Wert des PhoneModelName-Werts unter dem Unterschlüssel DeviceTargetingInfo übereinstimmt.
iSerialNumber REG_DWORD OEM Wenn dieser Wert auf 0 festgelegt ist, besitzt das Gerät keine Seriennummer. Wenn dieser Wert ungleich 0 ist oder nicht vorhanden ist, wird die Seriennummer eindeutig pro Gerät generiert.
CurrentConfiguration REG_SZ OEM Diese Zeichenfolge muss dem Namen eines Konfigurationsunterschlüssels entsprechen. Diese Zeichenfolge bestimmt, welche Konfiguration zum Erstellen eines Konfigurationsdeskriptors für die USB-Geräteaufzählung verwendet werden soll.
ClassEndpointRequestEnabled REG_DWORD OEM Legen Sie auf 1 fest, wenn Sie angeben möchten, dass Klassenendpunktanforderungen akzeptiert werden. Klassenendpunktanforderungen werden standardmäßig nicht akzeptiert. Legen Sie auf 0 fest (oder legen Sie diesen Registrierungswert nicht fest), wenn Sie angeben möchten, dass Klassenendpunktanforderungen nicht oder nur für bestimmte Schnittstellen akzeptiert werden. Informationen zum Akzeptieren von Klassenendpunktend-Endpunktanforderungen für bestimmte Schnittstellen finden Sie im Abschnitt "USBFN\Interfaces" im Registrierungsschlüssel "ClassEndpointRequestEnabled".

USBFN\Configurations-Registrierungsschlüssel

In dieser Tabelle werden die Werte beschrieben, die OEMs für Unterschlüssel unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurationsdefinieren können. Jeder Unterschlüssel stellt eine andere USB-Konfiguration dar. Wenn der OEM eine eigene Schnittstelle erstellen möchte, muss der OEM eine neue Konfiguration definieren, die die zu verwendenden Schnittstellen enthält. Erstellen Sie dazu unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations einen Unterschlüssel, der den Namen der Konfiguration verwendet, und füllen Sie den Unterschlüssel mit den Werten in dieser Tabelle auf. Damit der USB-Treiber die neue Konfiguration verwenden kann, muss der CurrentConfiguration-Wert (in der vorherigen Tabelle beschrieben) auf den Namen des Konfigurationsunterschlüssels festgelegt werden.

Wert Typ Besitzer BESCHREIBUNG
InterfaceList REG_MULTI_SZ OEM oder Microsoft Enthält eine Liste von Schnittstellennamen, die schnittstellenunterschlüsseln unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfaces, den unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Associationsdefinierten IAD-Zuordnungen und den unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Alternatesdefinierten alternativen Schnittstellen entsprechen. Diese Schlüssel bestimmen die Schnittstellen, die zum Beschreiben des zusammengesetzten Konfigurationsdeskriptors verwendet werden.

Wenn der IncludeDefaultCfg-Wert unter dem HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN-Schlüssel auf 1 festgelegt ist, wird diese Liste an die Standardschnittstellenliste von Microsoft angefügt, um die vollständige Schnittstellenliste zu erstellen, die das Gerät zum Auflisten verwendet.
MSOSCompatIdDescriptor REG_BINARY OEM oder Microsoft Optional. Definiert einen Erweiterten Compat ID-Betriebssystemfunktionsdeskriptor für die Konfiguration. Wenn der IncludeDefaultCfg-Wert unter dem HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN-Schlüssel auf 1 festgelegt ist, werden die Funktionen in diesem Deskriptor an die Funktionen und Schnittstellen in der Standardkonfiguration angefügt.

USBFN\Interfaces-Registrierungsschlüssel

In dieser Tabelle werden die Werte beschrieben, die OEMs für Unterschlüssel unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfacesändern können.

Jeder Unterschlüssel stellt eine andere USB-Schnittstelle dar. Um eine Schnittstelle zu definieren, erstellen Sie unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfaces mithilfe des Namens der Schnittstelle einen Unterschlüssel, und füllen Sie ihn mit den Werten in der folgenden Tabelle auf. Darüber hinaus wird eine Schnittstelle nur eingeschlossen, wenn die Schnittstelle Teil der InterfaceList der CurrentConfiguration ist.

Wert Typ Besitzer BESCHREIBUNG
InterfaceDescriptor REG_BINARY OEM oder Microsoft Eine binäre Darstellung eines Schnittstellendeskriptors, der während der USB-Enumeration an den Host gesendet werden soll. Die Werte bInterfaceNumber und iInterface werden nach dem Kompilieren eines vollständigen Konfigurationsdeskriptors automatisch vom USB-Funktionsstapel aufgefüllt, um Konflikte mit anderen Schnittstellendeskriptoren zu vermeiden.
InterfaceGUID REG_SZ OEM oder Microsoft Eine GUID, die eine Schnittstelle auf dem Bus eindeutig identifiziert.
InterfaceNumber REG_DWORD OEM oder Microsoft Optional. Dieser Wert wird verwendet, um einer Funktion eine feste Schnittstellennummer zuzuweisen. Die Schnittstellennummern 0-1F sind für Legacyfunktionen reserviert, 20-3F sind für Microsoft und 40-5F für die Verwendung durch OEMs reserviert.
MSOSExtendedPropertyDescriptor REG_BINARY OEM oder Microsoft Optional. Definiert einen Featuredeskriptor für erweiterte Eigenschaften für das Betriebssystem für die Schnittstelle.
ClassEndpointRequestEnabled REG_DWORD OEM Dieser Registrierungswert ist nur gültig, wenn HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\ClassEndpointRequestEnabled nicht vorhanden oder auf 0 festgelegt ist. Legen Sie diesen Registrierungswert auf 1 fest, wenn Sie angeben möchten, dass Klassenendpunktanforderungen für diese Schnittstelle akzeptiert werden. Legen Sie auf 0 fest (oder legen Sie diesen Registrierungswert nicht fest), wenn Sie angeben möchten, dass Klassenendpunktanforderungen für diese Schnittstelle nicht akzeptiert werden.

USBFN\Alternates-Registrierungsschlüssel

Der alternative Unterschlüssel wird verwendet, um eine einzelne Schnittstelle zu definieren, die über mindestens eine alternative Schnittstelle verfügt. In dieser Tabelle werden die Werte beschrieben, die OEMs für Unterschlüssel unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Alternatesändern können.

Jeder Unterschlüssel stellt eine andere Schnittstelle dar. Um eine Schnittstelle mit alternativen Einstellungen zu definieren, erstellen Sie einen Unterschlüssel unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Alternates , indem Sie den Namen der Schnittstelle verwenden, und füllen Sie ihn mit den Werten in der folgenden Tabelle auf.

Wert Typ Besitzer BESCHREIBUNG
InterfaceList REG_MULTI_SZ OEM oder Microsoft Eine Liste von zwei weiteren Schnittstellennamen, die Schnittstellen entsprechen, die unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Interfacesdefiniert sind. Dieser Schlüssel definiert gemeinsam eine Schnittstelle mit alternativen Einstellungen. Die erste Schnittstelle entspricht der alternativen Einstellung 0, die zweite Schnittstelle der alternativen Einstellung 1 usw.
InterfaceNumber REG_DWORD OEM oder Microsoft Optional. Dieser Wert wird verwendet, um einer Funktion eine feste Schnittstellennummer zuzuweisen. Die Schnittstellennummern 0-1F sind für Legacyfunktionen reserviert, 20-3F sind für Microsoft und 40-5F für die Verwendung durch OEMs reserviert.
MSOSExtendedPropertyDescriptor REG_BINARY OEM oder Microsoft Optional. Definiert einen Featuredeskriptor für erweiterte Eigenschaften für das Betriebssystem für die Schnittstelle.

USBFN\Associations-Registrierungsschlüssel

OEMs können Zuordnungen angeben, indem sie Schnittstellenzuordnungsdeskriptoren (Interface Association Descriptors, IADs) definieren. Jeder IAD ermöglicht es, mehrere Schnittstellen in einer einzigen Funktion zu gruppieren. In dieser Tabelle werden die Werte beschrieben, die OEMs für Unterschlüssel unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Associationsändern können.

Jeder Unterschlüssel stellt einen anderen IAD dar. Um eine Zuordnung zu definieren, erstellen Sie einen Unterschlüssel unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Associations , indem Sie den Namen des IAD verwenden, und füllen Sie ihn mit den Werten in der folgenden Tabelle auf.

Wert Typ Besitzer BESCHREIBUNG
InterfaceList REG_MULTI_SZ OEM oder Microsoft Eine Liste von Schnittstellen oder alternativen Schnittstellen, die einer USB-Funktion zugeordnet sind. Wenn die Größe der Liste kleiner als 2 ist, kann der Funktionstreiberstapel nicht geladen werden. Andere Funktionen oder Schnittstellen werden weiterhin geladen.
bFunctionClass REG_DWORD OEM oder Microsoft Der Klassencode der Funktion, auf 02 festgelegt.
bFunctionSubClass REG_DWORD OEM oder Microsoft Der Unterklassencode der Funktion, festgelegt auf 0d.
bFunctionProtocol REG_DWORD Der Protokollcode der Funktion, auf 01 festgelegt.
MSOSExtendedPropertyDescriptor REG_BINARY OEM oder Microsoft Optional. Definiert einen Featuredeskriptor für erweiterte Eigenschaften für das Betriebssystem für die Schnittstelle.

MirrorLink ist ein Interoperabilitätsstandard, der die Integration zwischen mobilen Geräten und Fahrzeug-Infotainmentsystemen ermöglicht. Das Gerät muss eine USB CDC NCM-Schnittstelle für den MirrorLink-Client verfügbar machen. Als CDC-Gerät (Communications Device Class) ist es erforderlich, die Datenschnittstellen mithilfe eines Schnittstellenzuordnungsdeskriptors (Interface Association Descriptor, IAD) und/oder eines CDC-Funktions-Union-Deskriptors zu beschreiben.

Um die MirrorLink-Konnektivität auf Windows 10 Mobile Gerät zu aktivieren, muss der OEM diese Änderungen vornehmen, um einen IAD verfügbar zu machen.

  • Erstellen Sie eine Zuordnung für die Kommunikations- und Datenschnittstellen, indem Sie einen Schnittstellenzuordnungsdeskriptor (Interface Association Descriptor, IAD) verwenden, indem Sie Registrierungswerte festlegen, die in der vorherigen Tabelle dargestellt sind.

  • Legen Sie zusätzlich zu den Registrierungseinstellungen diesen Registrierungswert auf einen Wert ungleich 0 fest.

    Wert Typ Besitzer BESCHREIBUNG
    MirrorLink REG_DWORD OEM oder Microsoft Ein Wert ungleich 0 gibt an, dass die Schnittstelle MirrorLink unterstützt. Der USB-Funktionsstapel hält den Usb-Befehl MirrorLink nicht auf.
  • Klassenspezifische Deskriptoren können in den Schnittstellendeskriptorsatz eingeschlossen werden, der in der Registrierung definiert ist. Das Größenfeld muss in diesen Deskriptoren festgelegt werden, damit der USB-Funktionstreiberstapel sie genau analysieren kann.

Alternativ kann ein CDC-Funktions-Union-Deskriptor auch als Class-Specific-Schnittstellendeskriptor definiert werden. Die vom Union-Deskriptor angegebenen Schnittstellennummern sind jedoch statisch und werden nicht vom USB-Funktionstreiberstapel zugewiesen, und das Vorhandensein eines Union-Deskriptors führt nicht dazu, dass die darin beschriebenen Schnittstellen einer einzelnen untergeordneten PDO zugeordnet werden. Für diese Zuordnung ist ein IAD erforderlich.