Identificateurs d’appareil AV/C

Lorsqu’un utilisateur connecte un appareil AV/C à l’ordinateur, Avc.sys énumère les sous-unités actives sur l’appareil et génère les chaînes d’identificateur d’appareil (ID). Il existe un identificateur d’appareil pour chaque sous-unité active dans un appareil AV/C. S’il n’existe aucune sous-unité active dans un appareil AV/C, Avc.sys génère un identificateur d’appareil pour l’appareil AV/C lui-même.

Le format des champs d’identificateur d’appareil pour les sous-unités homologues est le suivant :

AVC\Vendor&Model&SubunitType&SubunitID

Le format des champs d’identificateur d’appareil pour les sous-unités virtuelles est le suivant :

VAVC\Vendor&Model&SubunitType&SubunitID

Dans les champs où les nombres sont utilisés, les nombres sont convertis en hexadécimaux et les caractères alpha sont convertis en majuscules. Il n’y a pas de zéros non significatifs. L’identificateur de périphérique spécifié dans le fichier INF du pilote doit correspondre à ce format. Tous les champs numériques dans les identificateurs matériels et les identificateurs compatibles sont marqués comme suit (avec des exceptions comme indiqué) :

  • Fournisseur : VEN_ (sauf si le texte du fournisseur est disponible)

  • Modèle : MOD_ (sauf si le texte du modèle est disponible)

  • SubunitType : TYP_

  • Sous-unitéID : ID_

Avc.sys crée un objet d’appareil pour chaque sous-unité active présente sur un appareil AV/C externe. Une réinitialisation de bus IEEE 1394 est déclenchée chaque fois qu’un appareil AV/C est ajouté ou supprimé du bus IEEE 1394. Avc.sys réinscrire ensuite les sous-unités actives sur tous les appareils AV/C connectés. La re-énumération permet à l’appareil de se reconfigurer pour ajouter ou supprimer des sous-unités sans nécessiter que Windows recharge Avc.sys chaque fois que le mode d’exploitation de l’appareil AV/C est basculé. Par exemple, cette fonctionnalité s’applique lorsqu’un camcordeur DV est basculé entre le mode caméra et le mode VTR. Par conséquent, les pilotes de sous-unités sont chargés et déchargés uniquement lorsque leurs sous-unités actives correspondantes sont ajoutées et supprimées.

Avc.sys ne peut pas faire la distinction entre plusieurs sous-unités du même SubunitType. Par conséquent, l’ajout et la suppression de ces sous-unités charge et décharge le pilote de sous-unité correspondant avec le sous-unitéID le plus élevé.

L’objet d’appareil de chaque sous-unité a un ou deux identificateurs matériels et plusieurs identificateurs compatibles. Un fournisseur doit fournir un ou plusieurs de ces identificateurs matériels ou compatibles, décrits ci-dessous dans le fichier INF de leur pilote de sous-unité. Windows utilise ces identificateurs d’appareil pour localiser les pilotes appropriés à charger pour chaque sous-unité la première fois que l’appareil est connecté à l’ordinateur. Vous pouvez examiner les fichiers Microsoft 61883.inf, Msdv.inf et Mstape.inf pour obtenir des exemples d’identificateurs d’appareils matériels et compatibles pour les appareils AV/C. Pour plus d’informations sur l’implémentation de fichiers INF, consultez sections de fichiers INF et directives de fichier INF.

Les éléments individuels de la chaîne d’identificateur d’appareil sont les suivants :

Fournisseur

Si le texte du nom du fournisseur est présent dans le répertoire racine des fonctionnalités unitaires du ROM de configuration IEEE 1394, le texte du nom du fournisseur est utilisé dans le champ Fournisseur. Par exemple :

AVC\Microsoft&Model&SubunitType&SubunitID

Sinon, le numéro unique du fournisseur (tel que attribué par l’association commerciale IEEE 1394) est utilisé dans le champ Fournisseur. Dans l’exemple suivant, « 50F2 » est le numéro de fournisseur 1394TA de Microsoft :

AVC\VEN_50F2&Model&SubunitType&SubunitID

Si le texte du nom du fournisseur n’est pas présent, la valeur numérique est obtenue à partir de l’entrée Module_Vendor_ID dans le répertoire racine du ROM de configuration IEEE 1394. La clé d’architecture Command and Status Register (CSR) pour cette entrée immédiate est 0316 (hexadécimal) et les 24 bits restants sont l’entrée numérique Module_Vendor_ID.

Modèle

Si le texte du nom du modèle est présent dans les fonctionnalités d’unité du ROM de configuration IEEE 1394, le texte du nom du modèle est utilisé dans le champ Modèle. Par exemple :

AVC\Microsoft&DVCamcorder&SubunitType&SubunitID

Sinon, le numéro de modèle est utilisé dans le champ Modèle. Par exemple :

AVC\Microsoft&MOD_0&SubunitType&SubunitID

Le texte du modèle du répertoire d’unité ROM de configuration 1394 est utilisé, ce qui donne priorité aux entrées du répertoire d’unités. L’ordre de préférence est le suivant :

1.Identificateur numérique du répertoire d’unités.

1.Texte du modèle à partir du répertoire racine.

1.Identificateur de modèle à partir du répertoire racine.

SubunitType

Si disponible, le champ SubunitType est extrait de l’adresse de sous-unité et converti en chaîne de valeurs hexadécimales pour chaque octet. Il existe plusieurs octets uniquement si le type de sous-unité a été étendu. En règle générale, l’octet initial est extrait des cinq bits les plus significatifs de l’octet d’adresse, comme décrit dans la section 5.3.3 du jeu de commandes AV/C Digital Interface Command Specification, Rev 3.0.

Par exemple : AVC\VEN_50F2&MOD_0&TYP_4&TYP_4&SubunitID

Pour obtenir la liste des types de sous-unités qui Avc.sys prennent en charge et leurs valeurs numériques correspondantes, consultez AvcSubunitType.

Sous-unitéID

Si le champ SubunitType est disponible, le champ SubunitID est également disponible. Lorsque Avc.sys interroge l’appareil AV/C pour ses informations de sous-unité, l’appareil répond avec le nombre de sous-unités pour chaque type. Ce nombre de base zéro est utilisé pour créer un identificateur d’appareil pour chaque sous-unité. La spécification de l’adresse de sous-unité permet également l’extension du champ SubunitID , mais cet aspect est masqué du pilote de sous-unité (et de vous, l’auteur du fichier INF). Le numéro d’instance de base zéro est utilisé dans tous les cas. Par exemple, si le champ SubunitID est étendu pour prendre en charge 270 sous-unités, la 270e sous-unité a un identificateur de sous-unité de 10D (269 décimales). Par exemple :

AVC\Microsoft&MOD_0&TYP_4&ID_10D

Pour les unités AV/C qui ne fournissent pas de sous-unité ou de sous-unitéID, la chaîne d’identificateur d’appareil se compose uniquement des champs Fournisseur et Modèle, sans ampersand de fin (>).