Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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.