KSPROPERTY_RTAUDIO_CLOCKREGISTER
A propriedade KSPROPERTY_RTAUDIO_CLOCKREGISTER mapeia o registro do relógio de parede do dispositivo de áudio em um local de memória virtual que o cliente pode acessar.
A tabela a seguir resume os recursos dessa propriedade.
Tabela de Resumo de Uso
Obter | Definir | Destino | Tipo de descritor de propriedade | Tipo de valor da propriedade |
---|---|---|---|---|
Sim |
Não |
Pin |
O descritor de propriedade (dados da instância) consiste em uma estrutura KSRTAUDIO_HWREGISTER_PROPERTY que contém uma estrutura KSPROPERTY . Antes de enviar a solicitação, o cliente carrega a estrutura KSRTAUDIO_HWREGISTER_PROPERTY com valores que indicam o endereço base preferencial para o registro do relógio.
O valor da propriedade (dados de operação) é um ponteiro para uma estrutura KSRTAUDIO_HWREGISTER na qual o manipulador de propriedades grava o endereço de registro e a frequência de atualização de registro. Esse endereço de registro é o endereço virtual do modo de usuário ou do modo kernel no qual o registro de hardware é mapeado. O cliente pode ler diretamente o registro desse endereço.
Valor retornado
Uma solicitação de propriedade KSPROPERTY_RTAUDIO_CLOCKREGISTER retorna STATUS_SUCCESS para indicar que foi concluída com êxito. Caso contrário, a solicitação retornará um código de erro que indica uma falha.
Comentários
Alguns dispositivos de áudio contêm registros de relógio. Um registro de relógio é um contador de relógio de parede que começa a ser executado quando o hardware se alimenta e para quando o hardware é desligado. O software usa registros de relógio para sincronizar entre dois ou mais dispositivos controladores medindo o descompasso relativo entre os relógios de hardware do dispositivo.
Se bem-sucedida, a solicitação de propriedade mapeia o registro do relógio para um endereço de memória virtual acessível no modo de usuário ou no modo kernel, conforme especificado pelo cliente. Depois disso, o cliente lê desse endereço para obter o valor atual do registro do relógio.
A solicitação de propriedade falhará se o hardware de áudio não der suporte a um registro de relógio que possa ser mapeado para memória virtual.
O mapeamento do registro de relógio é destruído quando o pino é fechado. O cliente pode mapear o registro apenas uma vez no tempo de vida de uma instância de pino e qualquer chamada subsequente para mapear o registro do relógio novamente para essa instância falhará.
Normalmente, é mais rápido ler um registro de relógio do que enviar uma solicitação de KSPROPERTY_CLOCK_TIME , o que requer transições entre o modo de usuário e o modo kernel para clientes do modo de usuário.
Requisitos
Versão |
Disponível no Windows Vista e em sistemas operacionais Windows posteriores. |
Cabeçalho |
Ksmedia.h |