Share via


Identificadores de dispositivo AV/C

Cuando un usuario conecta un dispositivo AV/C al equipo, Avc.sys enumera las subuniciones activas en el dispositivo y genera las cadenas de identificador de dispositivo (ID) para ellos. Hay un identificador de dispositivo para cada subunidad activa en un dispositivo AV/C. Si no hay ninguna subunión activa en un dispositivo AV/C, Avc.sys genera un identificador de dispositivo para el propio dispositivo AV/C.

El formato de los campos de identificador de dispositivo para las subuniciones del mismo nivel es:

AVC\Vendor&Model&SubunitType&SubunitID

El formato de los campos de identificador de dispositivo para las subuniciones virtuales es:

VAVC\Vendor&Model&SubunitType&SubunitID

En los campos en los que se usan números, los números se convierten en hexadecimal y los caracteres alfa se convierten en mayúsculas. No hay ceros iniciales. El identificador de dispositivo especificado en el archivo INF del controlador debe coincidir con este formato. Todos los campos numéricos de los identificadores de hardware y los identificadores compatibles se etiquetan de la siguiente manera (con excepciones como se indica):

  • Proveedor: VEN_ (a menos que el texto del proveedor esté disponible)

  • Modelo: MOD_ (a menos que el texto del modelo esté disponible)

  • SubunitType: TYP_

  • SubunitID: ID_

Avc.sys crea un objeto de dispositivo para cada subunidad activa que está presente en un dispositivo AV/C externo. Se desencadena un restablecimiento de bus IEEE 1394 cada vez que se agrega o quita un dispositivo AV/C del bus IEEE 1394. Avc.sys volver a enumerar las subuniciones activas en todos los dispositivos AV/C conectados. La nueva enumeración permite que el dispositivo se vuelva a configurar para agregar o quitar subunits sin necesidad de que Windows vuelva a cargar Avc.sys cada vez que se cambie el modo de funcionamiento del dispositivo AV/C. Por ejemplo, esta funcionalidad se aplica cuando se cambia una videocámara DV entre el modo de cámara y el modo VTR. Por lo tanto, los controladores de subbunit se cargan y se descargan solo cuando se agregan y quitan sus subunidos activos correspondientes.

Avc.sys no puede distinguir entre varias subuniones del mismo SubunitType, por lo que agregar y quitar estas subunits carga y descarga el controlador de subbúnit correspondiente con el SubunitID más alto.

Cada objeto de dispositivo de la subbúsnit tiene uno o dos identificadores de hardware y varios identificadores compatibles. Un proveedor debe proporcionar uno o varios de estos identificadores de hardware o compatibles, que se describen a continuación en el archivo INF para su controlador de subbúsito. Windows usa estos identificadores de dispositivo para buscar controladores adecuados para cargar para cada subunidad la primera vez que el dispositivo está conectado al equipo. Puede examinar los archivos 61883.inf, Msdv.inf y Mstape.inf proporcionados por Microsoft para ver ejemplos de identificadores de dispositivo compatibles y hardware para dispositivos AV/C. Para obtener más información sobre la implementación de archivos INF, vea Secciones de archivos INF y Directivas de archivo INF.

Los elementos individuales de la cadena de identificador de dispositivo son los siguientes:

Proveedor

Si el texto del nombre del proveedor está presente en el directorio raíz Funcionalidades de unidad del ROM de configuración IEEE 1394, el texto del nombre del proveedor se usa en el campo Proveedor. Por ejemplo:

AVC\Microsoft&Model&SubunitType&SubunitID

De lo contrario, el número único del proveedor (asignado por la Asociación comercial IEEE 1394) se usa en el campo Proveedor. En el ejemplo siguiente, "50F2" es el número de proveedor 1394TA de Microsoft:

AVC\VEN_50F2&Model&SubunitType&SubunitID

Si el texto del nombre del proveedor no está presente, el valor numérico se obtiene de la entrada Module_Vendor_ID en el directorio raíz del ROM de configuración IEEE 1394. La clave de arquitectura registro de estado (CSR) para esta entrada inmediata es 0316 (hexadecimal) y los 24 bits restantes son la entrada numérica Module_Vendor_ID.

Modelo

Si el texto del nombre del modelo está presente en las funcionalidades unitarias del ROM de configuración ieee 1394, el texto del nombre del modelo se usa en el campo Modelo. Por ejemplo:

AVC\Microsoft&DVCamcorder&SubunitType&SubunitID

De lo contrario, el número de modelo se usa en el campo Modelo. Por ejemplo:

AVC\Microsoft&MOD_0&SubunitType&SubunitID

Se usa el texto del modelo del directorio de unidad ROM de configuración 1394, lo que da prioridad a las entradas del directorio de unidad. El orden de preferencia es el siguiente:

1.Identificador numérico del directorio de unidad.

1.Texto del modelo del directorio raíz.

1.Identificador del modelo del directorio raíz.

SubunitType

Si está disponible, el campo SubunitType se extrae de la dirección de la subbúsita y se convierte en una cadena de valores hexadecimales para cada byte. Solo hay varios bytes si se ha ampliado el tipo de subunidad. Normalmente, el byte inicial se extrae de los cinco bits más significativos del byte de dirección, tal como se describe en la sección 5.3.3 del conjunto de comandos de interfaz digital de AV/C, Especificación general, Rev 3.0.

Por ejemplo: AVC\VEN_50F2&MOD_0&TYP_4&subunitID

Para obtener una lista de los tipos de subbúnit que Avc.sys admite y sus valores numéricos correspondientes, vea AvcSubunitType.

SubunitID

Si el campo SubbunitType está disponible, el campo SubunitID también está disponible. Cuando Avc.sys consulta el dispositivo AV/C para obtener su información de subbús, el dispositivo responde con el recuento de las subuniciones de cada tipo. Este recuento de base cero se usa para crear un identificador de dispositivo para cada subunidad. La especificación de dirección de subbúsita también permite ampliar el campo SubunitID , pero este aspecto está oculto del controlador de subbúsito (y del usuario, el autor del archivo INF). El número de instancia de base cero se usa en todos los casos. Por ejemplo, si el campo SubunitID se extiende para admitir 270 subunidos, la subunidad 270 tiene un identificador de subbúsito de 10D (269 decimal). Por ejemplo:

AVC\Microsoft&MOD_0&TYP_4&ID_10D

En el caso de las unidades av/C que no proporcionan un SubbunitType o SubunitID, la cadena de identificador del dispositivo consta entonces solo de los campos Proveedor y Modelo, sin ampersand (&).