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.