Compartilhar via


KSPROPERTY_JACK_DESCRIPTION3

A propriedade KSPROPERTY_JACK_DESCRIPTION3 é implementada como uma propriedade pin-wise que é acessada usando o identificador de filtro.

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

Tabela de Resumo de Uso

Obter Definir Destino Tipo de descritor de propriedade Tipo de valor da propriedade

Sim

Não

Fábrica de pinos (por meio do identificador de filtro)

KSP_PIN

KSMULTIPLE_ITEM seguido por uma matriz de estruturas KSJACK_DESCRIPTION3

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

Valor retornado

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

KSMULTIPLE_ITEM. Size = sizeof(KSMULTIPLE_ITEM) + N * sizeof(KSJACK_DESCRIPTION3)

KSMULTIPLE_ITEM. Contagem = N

KSJACK_DESCRIPTION3[0]

...

KSJACK_DESCRIPTION3[N-1]

Comentários

Comunicando alterações no dispositivo de áudio usando KSJACK_DESCRIPTION3 e KSPROPERTY_JACK_DESCRIPTION3

O sistema de áudio do Windows armazena em cache as funcionalidades 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 de 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 recursos.

Sempre que o driver alterar o conteúdo de KSJACK_DESCRIPTION3 em runtime, o driver disparará o evento de 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 de ConfigId recuperado for diferente do valor armazenado anteriormente, o sistema de áudio do Windows descartará todos os recursos de ponto de extremidade armazenados em cache anteriormente 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 enumeração). 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ó 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 de 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 atualizados em cache 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

Cliente mínimo com suporte

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

Cabeçalho

Ksmedia.h

Confira também

KSJACK_DESCRIPTION3

KSMULTIPLE_ITEM

Atualizações do sistema operacional