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) |
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 |