Pin Category (propiedad)
Los controladores de audio de Microsoft Windows Driver Model (WDM) para dispositivos de audio USB, dispositivos de audio IEEE 1394 y dispositivos de audio en buses internos representan todos sus dispositivos como filtros KS con patillas. Un controlador de audio WDM mantiene una estructura KSPIN_DESCRIPTOR para cada tipo de patilla que admita. Dentro de esta estructura, el controlador almacena las propiedades KSPROPSETID_Pin del tipo de patilla. Entre esas propiedades se encuentra la propiedad KSPROPERTY_PIN_CATEGORY . Una solicitud de esta propiedad recupera el GUID de categoría de patilla KS del miembro Category de la estructura KSPIN_DESCRIPTOR. Este GUID indica la categoría general de funcionalidad que proporciona el pin. Por ejemplo, un GUID de categoría de patilla determinado, KSNODETYPE_HEADPHONES, identifica una patilla como un conector de salida para auriculares.
En el caso de un dispositivo de audio de onda en un bus interno (por ejemplo, PCI), el controlador de miniporte PortCls contiene una matriz de descriptores de patilla, cada uno de los cuales describe un tipo de patilla en el filtro que representa el dispositivo. Cada descriptor de patilla es una estructura PCPIN_DESCRIPTOR que contiene una estructura de KSPIN_DESCRIPTOR incrustada con un GUID de categoría de patilla. Al recibir una solicitud de propiedad de KSPROPERTY_PIN_CATEGORY de un cliente, el controlador de puerto recupera el GUID de categoría de patilla del controlador de minipuerto para el tipo de patilla especificado. Para obtener más información sobre los descriptores de patillas, vea Factorías de patillas.
Un dispositivo de audio USB tiene un número de terminales a través de los cuales las secuencias digitales y las señales analógicas pueden entrar y salir del dispositivo. Al construir un filtro KS para representar un dispositivo de audio USB, el controlador del sistema de clase USBAudio traduce los terminales del dispositivo en patillas del filtro. El archivo de encabezado Ksmedia.h define una asignación para cada identificador de tipo de terminal USB a un GUID de categoría de pin KS. En las seis tablas siguientes se muestran los identificadores de tipo de terminal y sus GUID de categoría de patilla correspondientes.
Tipos de terminales de entrada
Id. de terminal USB | GUID de categoría de patilla KS |
---|---|
0x0201 |
KSNODETYPE_MICROPHONE |
0x0202 |
KSNODETYPE_DESKTOP_MICROPHONE |
0x0203 |
KSNODETYPE_PERSONAL_MICROPHONE |
0x0204 |
KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE |
0x0205 |
KSNODETYPE_MICROPHONE_ARRAY |
0x0206 |
KSNODETYPE_PROCESSING_MICROPHONE_ARRAY |
Tipos de terminal de salida
Id. de terminal USB | GUID de categoría de patilla KS |
---|---|
0x0301 |
KSNODETYPE_SPEAKER |
0x0302 |
KSNODETYPE_HEADPHONES |
0x0303 |
KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO |
0x0304 |
KSNODETYPE_DESKTOP_SPEAKER |
0x0305 |
KSNODETYPE_ROOM_SPEAKER |
0x0306 |
KSNODETYPE_COMMUNICATION_SPEAKER |
0x0307 |
KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER |
Tipos de terminal bidireccionales
Id. de terminal USB | GUID de categoría de patilla KS |
---|---|
0x0401 |
KSNODETYPE_HANDSET |
0x0402 |
KSNODETYPE_HEADSET |
0x0403 |
KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION |
0x0404 |
KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE |
0x0405 |
KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE |
Tipos de terminal de telefonía
Id. de terminal USB | GUID de categoría de patilla KS |
---|---|
0x0501 |
KSNODETYPE_PHONE_LINE |
0x0502 |
KSNODETYPE_TELEPHONE |
0x0503 |
KSNODETYPE_DOWN_LINE_PHONE |
Tipos de terminal externo
Id. de terminal USB | GUID de categoría de patilla KS |
---|---|
0x0601 |
KSNODETYPE_ANALOG_CONNECTOR |
0x0602 |
KSNODETYPE_DIGITAL_AUDIO_INTERFACE |
0x0603 |
KSNODETYPE_LINE_CONNECTOR |
0x0604 |
KSNODETYPE_LEGACY_AUDIO_CONNECTOR |
0x0605 |
KSNODETYPE_SPDIF_INTERFACE |
0x0606 |
KSNODETYPE_1394_DA_STREAM |
0x0607 |
KSNODETYPE_1394_DV_STREAM_SOUNDTRACK |
Tipos de terminal de funciones insertadas
Id. de terminal USB | GUID de categoría de patillas KS |
---|---|
0x0701 |
KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE |
0x0702 |
KSNODETYPE_EQUALIZATION_NOISE |
0x0703 |
KSNODETYPE_CD_PLAYER |
0x0704 |
KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE |
0x0705 |
KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE |
0x0706 |
KSNODETYPE_MINIDISK |
0x0707 |
KSNODETYPE_ANALOG_TAPE |
0x0708 |
KSNODETYPE_PHONOGRAPH |
0x0709 |
KSNODETYPE_VCR_AUDIO |
0x070A |
KSNODETYPE_VIDEO_DISC_AUDIO |
0x070B |
KSNODETYPE_DVD_AUDIO |
0x070C |
KSNODETYPE_TV_TUNER_AUDIO |
0x070D |
KSNODETYPE_SATELLITE_RECEIVER_AUDIO |
0x070E |
KSNODETYPE_CABLE_TUNER_AUDIO |
0x070F |
KSNODETYPE_DSS_AUDIO |
0x0710 |
KSNODETYPE_RADIO_RECEIVER |
0x0711 |
KSNODETYPE_RADIO_TRANSMITTER |
0x0712 |
KSNODETYPE_MULTITRACK_RECORDER |
0x0713 |
KSNODETYPE_SYNTHESIZER |
Para obtener más información sobre los identificadores de tipo de terminal USB, vea la definición de clase de dispositivo de bus serie universal para los tipos de terminal (versión 1.0), que está disponible en el sitio web del foro de implementadores USB .
Todos los GUID de categoría de patillas de las tablas anteriores tienen nombres de parámetro del formulario KSNODETYPE_XXX. Tenga en cuenta que los GUID de tipo de nodo KS también tienen nombres de parámetro KSNODETYPE_XXX . Esta convención de nomenclatura crea algunas posibilidades de confusión entre los GUID de categoría de patillas y los GUID de tipo de nodo. Afortunadamente, casi todos los parámetros KSNODETYPE_XXX identifican una categoría de patillas o un tipo de nodo, pero no ambos. La única excepción a la regla es KSNODETYPE_SYNTHESIZER, que puede identificar una categoría de patillas o un tipo de nodo, en función del contexto. Para obtener una lista de los GUID de tipo de nodo, consulte Nodos de topología de audio.
Al crear instancias de un dispositivo de audio USB, el controlador del sistema de clase USBAudio consulta el dispositivo para su topología interna, incluidos sus terminales. Con esta información, el controlador USBAudio construye un filtro para representar el dispositivo y convierte cada terminal en un pin correspondiente del filtro. Durante este proceso, el controlador traduce cada identificador de tipo de terminal USB en el GUID de categoría de pin KS correspondiente, que es uno de los GUID de las tablas anteriores. El controlador construye una estructura KSPIN_DESCRIPTOR para describir el pin y escribe el GUID de categoría de patillas en la estructura.
Un controlador de miniporte PortCls no usa necesariamente solo los GUID de categoría que aparecen en las seis tablas anteriores. Por ejemplo, un controlador podría definir y usar un GUID de categoría de pin personalizado para describir un tipo de patilla cuya categoría funcional se encuentra fuera de las categorías de las tablas. Naturalmente, un GUID de categoría de pin personalizado solo es útil para los clientes que reconocen el GUID.
El subsistema de audio mantiene una lista de GUID de categoría de patillas y sus nombres descriptivos asociados en el registro del sistema. El instalador de clase multimedia copia los pares GUID-name en el Registro desde el archivo Ks.inf ubicado en la subcarpeta Inf de la carpeta principal de Windows (por ejemplo, C:\Windows\Inf\Ks.inf).
El sistema operativo usa categorías de patillas para asociar nombres descriptivos a dispositivos de punto de conexión de audio. Para obtener más información sobre cómo asociar nombres descriptivos con dispositivos de punto de conexión de audio, consulte Nombres descriptivos para dispositivos de punto de conexión de audio.