Partilhar via


KSPROPERTY_JACK_DESCRIPTION3

A propriedade KSPROPERTY_JACK_DESCRIPTION3 é implementada como uma propriedade pin-wise que é acessada usando a alça de filtro.

Na versão 22H2 e sistemas operacionais Windows posteriores, a estrutura de KSJACK_DESCRIPTION3 associada pode ser usada para especificar e alterar a configuração atual do jack.

Tabela de resumo de uso

Obter Conjunto Objetivo Tipo de descritor de propriedade Tipo de valor da propriedade

Sim

Não

Fábrica de pinos (via alça do filtro)

KSP_PIN

KSMULTIPLE_ITEM seguido por uma série de estruturas KSJACK_DESCRIPTION3

O valor da propriedade (dados da instância) é um KSMULTIPLE_ITEM, seguido por uma matriz de estruturas KSJACK_DESCRIPTION3.

Valor de retorno

Uma solicitação de propriedade KSPROPERTY_JACK_DESCRIPTION3 retorna um KSMULTIPLE_ITEM seguido por uma matriz de N KSJACK_DESCRIPTION3 estruturas, onde N = o número de conectores associados ao pino de ponte especificado. A lista a seguir mostra os itens que são retornados pela solicitação de propriedade.

KSMULTIPLE_ITEM. Tamanho = tamanhode(KSMULTIPLE_ITEM) + N * tamanhode(KSJACK_DESCRIPTION3)

KSMULTIPLE_ITEM. Contagem = N

KSJACK_DESCRIPTION3[0]

...

KSJACK_DESCRIPTION3[N-1]

Observações

Comunicar alterações de dispositivos de áudio utilizando KSJACK_DESCRIPTION3 e KSPROPERTY_JACK_DESCRIPTION3

O sistema de áudio do Windows armazena em cache os recursos do dispositivo de áudio durante a criação do ponto de extremidade de áudio. Esses valores armazenados em cache são para recursos como a presença de um mecanismo de áudio HW, suporte a formato, ID de contêiner, características de tamanho do buffer, etc. Esses valores armazenados em cache são retidos durante a vida útil da instalação do Windows. Eles são atualizados somente quando o driver de áudio é atualizado ou durante uma atualização do sistema operacional.

Com KSJACK_DESCRIPTION3, o sistema de áudio do Windows fornece um mecanismo para que o driver de áudio solicite que todos os valores armazenados em cache sejam descartados e atualizados. A solicitação pode ser acionada por alterações nos recursos do dispositivo de áudio, como restrições de recursos.

Sempre que o driver alterar o conteúdo do KSJACK_DESCRIPTION3 em tempo de execução, o driver acionará o evento KSEVENT_PINCAPS_JACKINFOCHANGE existente.

O sistema de áudio do Windows mantém o último valor ConfigId relatado armazenado em cache no ponto de extremidade de áudio. O valor ConfigId é recuperado em resposta a KSEVENT_PINCAPS_JACKINFOCHANGE evento e durante o processamento normal do ponto de extremidade de áudio na inicialização do sistema, na reinicialização do serviço Audio Endpoint Builder, na atualização do driver de áudio ou nas alterações de estado da interface para o ponto de extremidade.

Se o valor ConfigId recuperado for diferente do valor armazenado anteriormente, o sistema de áudio do Windows descartará todos os recursos de ponto de extremidade armazenados anteriormente em cache e os atualizará.

O uso recomendado é definir várias configurações de ponto de extremidade de áudio dentro do driver que é controlado pelo valor ConfigId (bitmask ou enum). Por exemplo, ConfigId de 1 pode indicar a presença de um nó de mecanismo de áudio, enquanto ConfigId 2 não relataria um nó de mecanismo de áudio. O ConfigId em uso pelo driver é compartilhado com o sistema de áudio do Windows através de KSPROPERTY_JACK_DESCRIPTION3 e atua para sincronizar o ponto de extremidade com os recursos armazenados em cache pelo sistema de áudio do Windows.

O valor do ConfigId é opaco para o Windows. O driver de áudio pode usar um carimbo de data/hora ou um valor de incremento escolhido em tempo de execução no lugar de uma máscara de bits ou enum, como sugerido acima. Essa estratégia não é recomendada, pois pode resultar em atualizações desnecessárias do ponto de extremidade durante a inicialização ou alterações na interface para sincronizar o último valor ConfigId armazenado com o valor recém-relatado, mesmo quando os recursos do endpoint não forem alterados. Essa abordagem também pode aumentar as chances de o driver e o Windows ficarem fora de sincronia, o que pode resultar em falhas de reprodução de áudio.

O mecanismo usado para atualizar os valores armazenados em cache no ponto de extremidade quando o ConfigId é alterado é o mesmo usado para atualizações do sistema operacional e atualizações de driver. Um novo ponto de extremidade com um ID diferente é criado que conterá os valores armazenados em cache atualizados que correspondem às novas configurações de ConfigId para o ponto de extremidade, as configurações do usuário são copiadas do ponto de extremidade antigo para o novo ponto de extremidade e, finalmente, o ponto de extremidade antigo é excluído. Para obter mais informações, sobre o processo de migração do ponto de extremidade de áudio em atualizações do sistema operacional, consulte Atualizações do sistema operacional.

Requerimentos

Cliente mínimo suportado

Disponível na versão 22H2 e sistemas operativos Windows posteriores.

Cabeçalho

Ksmedia.h

Ver também

KSJACK_DESCRIPTION3

KSMULTIPLE_ITEM

Atualizações do sistema operacional