AV/C-Gerätebezeichner
Wenn ein Benutzer ein AV/C-Gerät mit dem Computer verbindet, zählt Avc.sys die aktiven Untereinheiten auf dem Gerät auf und generiert die Zeichenfolgen für den Gerätebezeichner (ID). Es gibt einen Gerätebezeichner für jede aktive Untereinheit in einem AV/C-Gerät. Wenn keine aktiven Untereinheiten in einem AV/C-Gerät vorhanden sind, generiert Avc.sys einen Gerätebezeichner für das AV/C-Gerät selbst.
Das Format für Gerätebezeichnerfelder für Peer-Untereinheiten lautet:
AVC\Vendor&Model&SubunitType&SubunitID
Das Format für Gerätebezeichnerfelder für virtuelle Untereinheiten lautet:
VAVC\Vendor&Model&SubunitType&SubunitID
In Feldern, in denen Zahlen verwendet werden, werden die Zahlen in hexadezimal konvertiert, und Alphazeichen werden in Großbuchstaben konvertiert. Es gibt keine führenden Nullen. Der in der INF-Datei für den Treiber angegebene Gerätebezeichner muss diesem Format entsprechen. Alle numerischen Felder in Hardwarebezeichnern und kompatiblen Bezeichnern werden wie folgt markiert (mit Ausnahmen wie angegeben):
Anbieter: VEN_ (es sei denn, Anbietertext ist verfügbar)
Modell: MOD_ (es sei denn, Der Modelltext ist verfügbar)
SubunitType: TYP_
SubunitID: ID_
Avc.sys erstellt ein Geräteobjekt für jede aktive Untereinheit, die auf einem externen AV/C-Gerät vorhanden ist. Eine IEEE 1394-Buszurücksetzung wird ausgelöst, wenn ein AV/C-Gerät dem IEEE 1394-Bus hinzugefügt oder entfernt wird. Avc.sys dann die aktiven Untereinheiten auf allen verbundenen AV/C-Geräten erneut auflisten. Mit der erneuten Aufzählung kann sich das Gerät neu konfigurieren, um Untereinheiten hinzuzufügen oder zu entfernen, ohne dass Windows Avc.sys jedes Mal neu laden muss, wenn der Betriebsmodus des AV/C-Geräts gewechselt wird. Diese Funktionalität gilt beispielsweise, wenn ein DV-Webcam zwischen Kameramodus und VTR-Modus gewechselt wird. Daher werden Treiber für Untereinheiten nur geladen und entladen, wenn die entsprechenden aktiven Untereinheiten hinzugefügt und entfernt werden.
Avc.sys können nicht zwischen mehreren Untereinheiten desselben SubunitType unterscheiden, sodass das Hinzufügen und Entfernen dieser Untereinheiten den entsprechenden Untereinheitstreiber mit der höchsten Untereinheits-ID lädt und entlädt.
Jedes Geräteobjekt der Untereinheit verfügt über einen oder zwei Hardwarebezeichner und mehrere kompatible Bezeichner. Ein Anbieter muss einen oder mehrere dieser Hardware- oder kompatiblen IDs bereitstellen, die unten in der INF-Datei für ihren Untereinheitstreiber beschrieben sind. Windows verwendet diese Gerätebezeichner, um geeignete Treiber für jede Untereinheit zu finden, wenn das Gerät zum ersten Mal mit dem Computer verbunden ist. Sie können die von Microsoft bereitgestellten Dateien 61883.inf, Msdv.inf und Mstape.inf nach Beispielen für Hardware- und kompatible Gerätebezeichner für AV/C-Geräte untersuchen. Weitere Informationen zur Implementierung von INF-Dateien finden Sie in DEN INF-Dateiabschnitten und INF-Dateidirektiven.
Die einzelnen Elemente der Geräte-ID-Zeichenfolge sind wie folgt:
Hersteller
Wenn der Namenstext des Anbieters im Stammverzeichnis der IEEE 1394 Configuration ROM-Konfigurationsfunktionen vorhanden ist, wird der Namenstext des Anbieters im Feld "Anbieter " verwendet. Zum Beispiel:
AVC\Microsoft&Model&SubunitType&SubunitID
Andernfalls wird die eindeutige Nummer des Anbieters (wie durch die IEEE 1394 Trade Association zugewiesen) im Feld "Vendor " verwendet. Im folgenden Beispiel ist "50F2" die 1394TA-Anbieternummer von Microsoft:
AVC\VEN_50F2&Model&SubunitType&SubunitID
Wenn der Anbieternametext nicht vorhanden ist, wird der numerische Wert aus dem Module_Vendor_ID Eintrag im Stammverzeichnis der IEEE 1394 Configuration ROM abgerufen. Der Befehls- und Statusregister-Architekturschlüssel für diesen unmittelbaren Eintrag ist 0316 (hexadezimal), und die neu Standard 24 Bits sind der numerische Module_Vendor_ID Eintrag.
Modell
Wenn der Modellnametext in den Unit Capabilities des IEEE 1394 Configuration ROM vorhanden ist, wird der Modellnametext im Feld "Modell " verwendet. Zum Beispiel:
AVC\Microsoft&DVCamcorder&SubunitType&SubunitID
Andernfalls wird die Modellnummer im Feld "Modell " verwendet. Zum Beispiel:
AVC\Microsoft&MOD_0&SubunitType&SubunitID
Der Modelltext aus dem Verzeichnis der Konfigurations-ROM-Einheit 1394 wird verwendet, was vorrang vor den Einheitenverzeichniseinträgen hat. Die Reihenfolge der Präferenz lautet wie folgt:
1.Der numerische Bezeichner aus dem Einheitenverzeichnis.
1.Der Modelltext aus dem Stammverzeichnis.
1.Der Modellbezeichner aus dem Stammverzeichnis.
SubunitType
Wenn verfügbar, wird das Feld "SubunitType " aus der Untereinheitsadresse extrahiert und in eine Zeichenfolge mit hexadezimalen Werten für jedes Byte konvertiert. Es gibt nur mehrere Bytes, wenn der Untereinheitstyp erweitert wurde. In der Regel wird das anfängliche Byte aus den fünf wichtigsten Bits des Adressbytes extrahiert, wie in Abschnitt 5.3.3 der Allgemeinen Spezifikation des AV/C Digital Interface Command Set, Rev 3.0 beschrieben.
Beispiel: AVC\VEN_50F2&MOD_0&TYP_4&SubunitID
Eine Liste von Untereinheitstypen, die Avc.sys unterstützt und die entsprechenden numerischen Werte, finden Sie unter AvcSubunitType.
SubunitID
Wenn das Feld "SubunitType" verfügbar ist, ist auch das Feld "SubunitID" verfügbar. Wenn Avc.sys das AV/C-Gerät nach seinen Untereinheitsinformationen abfragt, antwortet das Gerät mit der Anzahl der Untereinheiten für jeden Typ. Diese nullbasierte Anzahl wird verwendet, um einen Gerätebezeichner für jede Untereinheit zu erstellen. Die Spezifikation der Untereinheitsadresse ermöglicht auch das Erweitern des Felds "SubunitID ", aber dieser Aspekt ist vom Untereinheitstreiber (und von Ihnen, dem Autor der INF-Datei) ausgeblendet. Die nullbasierte Instanznummer wird in allen Fällen verwendet. Wenn das Feld "SubunitID" beispielsweise erweitert wird, um 270 Untereinheiten zu unterstützen, verfügt die 270. Untereinheit über einen Untereinheitsbezeichner von 10D (269 Dezimalzahl). Zum Beispiel:
AVC\Microsoft&MOD_0&TYP_4&ID_10D
Für AV/C-Einheiten, die keinen SubunitType oder SubunitID bereitstellen, besteht die Geräte-ID-Zeichenfolge dann nur aus den Feldern "Vendor" und "Model" ohne nachfolgendes kaufmännisches Und-Zeichen (&).