Partilhar via


estrutura KSJACK_DESCRIPTION3

Na versão 22H2 e em sistemas operacionais Windows posteriores, a KSJACK_DESCRIPTION3 estrutura pode ser usada para especificar e alterar a configuração atual da tomada.

Sintaxe

typedef struct _tagKSJACK_DESCRIPTION3
{
  ULONG              ConfigId; 

} KSJACK_DESCRIPTION3, *PKSJACK_DESCRIPTION3;

Membros

ConfigId

A máscara de bits definida pelo driver ou a enumeração que descreve a configuração atual, alterando esse valor faz com que o audioendpointbuilder atualize o cache para garantir que o ponto de extremidade publicado corresponda à configuração atual.

Comentários

Usando KSJACK_DESCRIPTION3 para comunicar alterações no dispositivo de áudio

O sistema de áudio do Windows armazena em cache recursos de 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 ao formato, ID do 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 disparada por alterações nos recursos do dispositivo de áudio, como restrições de recurso.

Sempre que o driver alterar o conteúdo de KSJACK_DESCRIPTION3 em runtime, o driver disparará 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, reinicialização do serviço Audio Endpoint Builder, atualização do driver de áudio ou 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 controlado pelo valor ConfigId (bitmask ou enum). Por exemplo, ConfigId de 1 pode indicar a presença de um nó do mecanismo de áudio, enquanto ConfigId 2 não relataria um nó do mecanismo de áudio. A ConfigId em uso pelo driver é compartilhada com o sistema de áudio do Windows por meio 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 enumeração, conforme sugerido acima. Essa estratégia não é recomendada, pois pode resultar em atualizações desnecessárias de ponto de extremidade durante a inicialização ou alterações de interface para sincronizar o último valor ConfigId armazenado com o valor recentemente relatado, mesmo quando os recursos do ponto de extremidade 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 uma 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, por fim, o ponto de extremidade antigo é excluído. Para obter mais informações, sobre o processo de migração de ponto de extremidade de áudio em atualizações do sistema operacional, consulte Atualizações do sistema operacional.

Requisitos

Versão

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

parâmetro

Ksmedia.h (inclua Ksmedia.h)

Confira também

KSJACK_DESCRIPTION

KSPROPERTY_JACK_DESCRIPTION3

IKsJackDescription2::GetJackDescription2

Alteração de formato dinâmico

Atualizações do sistema operacional