Partilhar via


Propriedade de categoria de pino

Os drivers de áudio do Microsoft Windows Driver Model (WDM) para dispositivos de áudio USB, dispositivos de áudio IEEE 1394 e dispositivos de áudio em barramentos internos representam os seus dispositivos como filtros KS com pinos. Um driver de áudio WDM mantém uma estrutura KSPIN_DESCRIPTOR para cada tipo de pin suportado. Dentro dessa estrutura, o driver armazena as propriedades KSPROPSETID_Pin do tipo de pino. Entre essas propriedades está a propriedade KSPROPERTY_PIN_CATEGORY. Uma solicitação para esta propriedade recupera o GUID da categoria de pin KS do membro Category da estrutura KSPIN_DESCRIPTOR. Este GUID indica a categoria geral de funcionalidade que o pino fornece. Por exemplo, um GUID de categoria de pino específico, KSNODETYPE_HEADPHONES, identifica um pino como uma tomada de saída para fones de ouvido.

No caso de um dispositivo de áudio wave em um barramento interno (por exemplo, PCI), o driver de miniporta PortCls contém uma matriz de descritores de pinos, cada um dos quais descreve um tipo de pino no filtro que representa o dispositivo. Cada descritor de pinos é uma estrutura PCPIN_DESCRIPTOR contendo uma estrutura KSPIN_DESCRIPTOR incorporada com um GUID de categoria de pinos. Ao receber uma solicitação de propriedade KSPROPERTY_PIN_CATEGORY de um cliente, o controlador de porta recupera o GUID da categoria de pino do descritor de pino do controlador de miniporta do tipo de pino especificado. Para obter mais informações sobre descritores de pinos, consulte Pin Factories.

Um dispositivo de áudio USB tem algum número de terminais através dos quais fluxos digitais e sinais analógicos podem entrar e sair do dispositivo. Ao construir um filtro KS para representar um dispositivo de áudio USB, o driver do sistema de classe USBAudio traduz os terminais do dispositivo em pinos no filtro. O arquivo de cabeçalho Ksmedia.h define um mapeamento para cada identificador de tipo de terminal USB para um GUID de categoria de pino KS. As seis tabelas a seguir mostram os identificadores de tipo de terminal e seus GUIDs de categoria de pinos correspondentes.

Tipos de terminais de entrada

USB Terminal ID GUID da categoria do pino 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 terminais de saída

ID de Terminal USB GUID da categoria do pino KS

0x0301

KSNODETYPE_SPEAKER

0x0302

KSNODETYPE_AUSCULTADORES

0x0303

KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO

0x0304

KSNODETYPE_DESKTOP_SPEAKER

0x0305

KSNODETYPE_ROOM_SPEAKER (Altifalante de Sala)

0x0306

KSNODETYPE_COMMUNICATION_SPEAKER

0x0307

KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER

Tipos de terminais bidirecionais

USB Terminal ID GUID da categoria do pino KS

0x0401

KSNODETYPE_HANDSET

0x0402

KSNODETYPE_HEADSET

0x0403

KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION (tipo de nó para altifalante sem redução de eco)

0x0404

KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE

0x0405

KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE

Tipos de terminais de telefonia

ID de Terminal USB GUID da categoria do pino KS

0x0501

KSNODETYPE_PHONE_LINE (Linha Telefónica)

0x0502

KSNODETYPE_TELEPHONE

0x0503

KSNODETYPE_DOWN_LINE_PHONE

Tipos de terminais externos

ID do Terminal USB GUID da categoria do pino 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 terminais de função incorporados

ID do Terminal USB GUID da categoria do pino KS

0x0701

KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE

0x0702

Tipo de Nó de Equalização de Ruído KSNODETYPE

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 obter mais informações sobre identificadores de tipo de terminal USB, consulte a Definição de classe de dispositivo de barramento serial universal para tipos de terminal (versão 1.0), disponível no site do Fórum de implementadores USB .

Todos os GUIDs de categoria de pinos nas tabelas anteriores têm nomes de parâmetros do formato KSNODETYPE_XXX. Observe que os GUIDs do tipo de nó KS também têm nomes de parâmetros KSNODETYPE_XXX. Essa convenção de nomenclatura cria algum potencial para confusão entre GUIDs de categoria de pino e GUIDs de tipo de nó. Felizmente, quase todos os parâmetros KSNODETYPE_XXX identificam uma categoria de pino ou um tipo de nó, mas não ambos. A única exceção à regra é KSNODETYPE_SYNTHESIZER, que pode identificar uma categoria de pino ou um tipo de nó, dependendo do contexto. Para obter uma lista de GUIDs de tipo de nó, consulte Nós de topologia de áudio.

Ao instanciar um dispositivo de áudio USB, o driver de sistema de classe USBAudio consulta o dispositivo para sua topologia interna, incluindo seus terminais. Com essas informações, o driver USBAudio constrói um filtro para representar o dispositivo e traduz cada terminal em um pino correspondente no filtro. Durante esse processo, o driver traduz cada identificador de tipo de terminal USB para o GUID correspondente da categoria de pinos KS, que é um dos GUIDs nas tabelas anteriores. O driver constrói uma estrutura KSPIN_DESCRIPTOR para descrever o pino e grava o GUID da categoria de pino na estrutura.

Um driver de miniporta PortCls não usa necessariamente apenas os GUIDs de categoria que aparecem nas seis tabelas anteriores. Por exemplo, um driver pode definir e utilizar um GUID de categoria de pino personalizado para descrever um tipo de pino cuja categoria funcional não se enquadra nas categorias apresentadas nas tabelas. Naturalmente, um GUID de categoria de pino personalizado é útil apenas para clientes que reconhecem o GUID.

O subsistema de áudio mantém no registo do sistema uma lista de GUIDs de categoria de pinos e os seus respetivos nomes comuns. O instalador de classe de mídia copia os pares nome-GUID para o registro a partir do arquivo Ks.inf localizado na subpasta Inf da pasta principal do Windows (por exemplo, C:\Windows\Inf\Ks.inf).

O sistema operativo usa categorias de pinos para associar nomes amigáveis a terminais de áudio. Para obter mais informações sobre como associar nomes amigáveis a dispositivos de ponto de extremidade de áudio, consulte Nomes amigáveis para dispositivos de ponto de extremidade de áudio.