Freigeben über


UNTERGEORDNETE AVStream-Geräte

Dieser Abschnitt gilt nur für Microsoft Windows Server 2003 und frühere Betriebssysteme, wenn DirectX 9.0 oder höher auf dieser Plattform installiert ist.

AVStream kann als Bus-Enumerator für Ihr Gerät fungieren und ein untergeordnetes Gerät für jeden Schlüssel im Enum-Branch erstellen. Platzieren Sie dazu einen Enum-Branch in der Registrierung unter dem Geräteschlüssel.

Insbesondere gibt der Anbieter im Abschnitt AddReg der INF-Datei des Treibers einen Wert vom Typ pnpid vom Typ REG_SZ für jeden Eintrag unter Enum an. AVStream verwendet diesen Zeichenfolgenwert, um eine Plug & Play(PnP)-Hardware-ID für jedes einzelne untergeordnete Gerät zu erstellen.

In Versionen vor DirectX 9.0 erstellt AVStream eine untergeordnete Gerätehardware-ID im Format "AVStream\<pnpid>" (wobei <pnpid> der Wert von pnpid für das jeweilige Gerät ist).

Der Anbieter gibt beispielsweise Folgendes im Abschnitt AddReg der INF-Datei an:

[MyTVDevice.AddReg]
HKR,"ENUM\CrossbarDevice",pnpid,,"MyCrossbar"
HKR,"ENUM\TunerDevice",pnpid,,"MyTuner"

Entsprechend erstellt AVStream zwei untergeordnete Geräte mit den folgenden Geräte-IDs:

AVStream\MyCrossbar

AVStream\MyTuner

Um mögliche Mehrdeutigkeiten von zwei verschiedenen untergeordneten Geräten zu beheben, die denselben pnpid-Wert angeben, ändern DirectX 9.0 und höher die für jedes der untergeordneten Geräte gemeldeten IDs. Für jede Hardware-ID, die vom übergeordneten Gerät gemeldet wird, erstellt AVStream eine ID für das untergeordnete Gerät in der folgenden Form:

Geänderte übergeordnete Hardware-ID> von AVStream\pnpid<#<>

Die geänderte übergeordnete Hardware-ID ist die übergeordnete Hardware-ID, wobei jedes umgekehrte Schrägstrichzeichen (\) durch das Zahlenzeichen (#) ersetzt wird.

Wenn die resultierende Zeichenfolge zu lang ist, beendet AVStream die ID-Zeichenfolge bei MAX_DEVICE_ID_LEN Zeichen, einschließlich des NULL-Abschlusszeichens . In Windows Server 2003 ist dieser Grenzwert in cfgmgr32.h auf 200 Zeichen festgelegt.

Ein übergeordnetes Gerät meldet beispielsweise die folgenden Hardware-IDs:

PCI\VEN_XXXX&DEV_YYYY&SUBSYS_ZZZZZZZZ&REV_VV

PCI\VEN_XXXX&DEV_YYYY&SUBSYS_ZZZZZZZZ

Für ein Gerät mit dem pnpid-SchlüsselMyCrossbar erstellt AVStream die folgenden untergeordneten Gerätehardware-IDs:

AVStream\MyCrossbar#PCI#VEN_XXXX&DEV_YYYY&SUBSYS_ZZZZZZZZ&REV_VV

AVStream\MyCrossbar#PCI#VEN_XXXX&DEV_YYYY&SUBSYS_ZZZZZZZZ

AVStream verwendet den gleichen Prozess für kompatible IDs, die vom übergeordneten Gerät gemeldet werden. AVStream erstellt eine kompatible ID für das untergeordnete Gerät des Formulars:

AVStream\<pnpid geänderte>#<übergeordnete kompatible ID>

Die Namensänderungs- und Längenregeln für kompatible IDs sind identisch mit denen für Hardware-IDs.

Beispielsweise, wenn das zuvor beschriebene übergeordnete Gerät die folgenden kompatiblen IDs meldet:

PCI\VEN_XXXX&DEV_YYYY&REV_VV

PCI\VEN_XXXX&DEV_YYYY

PCI\VEN_XXXX&CC_ZZZZZZ

PCI\VEN_XXXX&CC_ZZZZ

PCI\VEN_XXXX

PCI\CC_ZZZZZZ

PCI\CC_ZZZZ

Das untergeordnete MyCrossbar-Gerät meldet über AVStream die folgenden kompatiblen IDs:

AVStream\MyCrossbar#PCI#VEN_XXXX&DEV_YYYY&REV_VV

AVStream\MyCrossbar#PCI#VEN_XXXX&DEV_YYYY

AVStream\MyCrossbar#PCI#VEN_XXXX&CC_ZZZZZZ

AVStream\MyCrossbar#PCI#VEN_XXXX&CC_ZZZZ

AVStream\MyCrossbar#PCI#VEN_XXXX

AVStream\MyCrossbar#PCI#CC_ZZZZZZ

AVStream\MyCrossbar#PCI#CC_ZZZZ

AVStream\MyCrossbar

Hinweis In DirectX 9.0 und höher wird die Legacyhardware-ID AVStream\<pnpid> weiterhin als die mit dem niedrigsten Rang kompatible ID gemeldet. Daher funktionieren ältere Treiber weiterhin unverändert auf diesen Plattformen. Ab dem Release DirectX 9.0 empfiehlt Microsoft jedoch, dass Anbieter neue oder überarbeitete Treiber schreiben, die den AVStream-Klassenbus-Enumerator nutzen, die neuen Hardware-ID-Formate verwenden. Treiber können Plattformen unterstützen, auf denen frühere Versionen von AVStream ausgeführt werden, indem sie die alte ID in die Liste der kompatiblen IDs in die INF-Datei einschließen.