Partilhar via


SetupPreferredAudioDevices

A palavra-chave SetupPreferredAudioDevices indica o dispositivo de áudio preferido, que é o dispositivo que o sistema de áudio habilita por padrão quando o sistema contém um ou mais dispositivos de áudio. Essa palavra-chave é específica da classe de mídia e é suportada pelo Microsoft Windows Millennium Edition/Windows 98, Microsoft Windows 2000, Windows XP e Windows Vista. SetupPreferredAudioDevices não é suportado no Windows 7.

Ao criar um dispositivo de áudio, um programa de aplicativo pode optar por usar o dispositivo padrão (ou preferido) em vez de especificar explicitamente um dispositivo. (For example, see the descriptions of the waveOutOpen and DirectSoundCreate functions in the Microsoft Windows SDK documentation.)

O sistema de áudio mantém o controle do dispositivo de áudio preferido atual no registro do sistema. Quando um usuário atualiza um sistema instalando um novo dispositivo de áudio, o arquivo INF proprietário que instala o dispositivo normalmente atualiza o registro para designar o novo dispositivo como o dispositivo de áudio preferido.

The SetupPreferredAudioDevices keyword can appear within a registry-update directive in the add-registry-section (see INF AddReg Directive) of an INF file for an audio device. Esta diretiva tem o seguinte formato:

reg-rootkey, [reg-subkey]SetupPreferredAudioDevices [flags], [dword-value]

A diretiva instrui o sistema de áudio a usar as funções de áudio do dispositivo como padrão para reprodução de som, gravação de som e reprodução de música MIDI. Following installation, these three defaults appear in the Sounds and Multimedia control panel under the Audio tab. The user can use Control Panel to change the default devices.

The directive's dword-value parameter specifies a DWORD value that should be nonzero in order to enable the directive. Se este valor for zero, a diretiva não produz efeitos. Because Windows Me/98 do not support the REG_DWORD registry data type, however, dword-value is typically expressed as a 4-byte REG_BINARY type instead of as a DWORD (for example, as "01,00,00,00" instead of "0x00000001"). The dword-value parameter can be specified in raw binary format by setting the directive's flags parameter to "1" (FLG_ADDREG_BINVALUETYPE).

A diretiva entra em vigor no momento em que o driver do dispositivo é instalado. Se outro dispositivo ocupa a função de dispositivo preferencial no momento em que o novo dispositivo é instalado, a diretiva faz com que o novo dispositivo assuma o papel de dispositivo preferencial, deslocando assim o outro dispositivo dessa função.

Ao atualizar ou reinstalar o driver para um dispositivo que já foi instalado, convém evitar alterar as seleções atuais de dispositivos preferidos do usuário para reprodução de som, gravação de som e reprodução de música MIDI. If so, set the FLG_ADDREG_NOCLOBBER bit in the flags parameter, which causes the directive to take effect only if this is the device's initial installation.

Exemplo

O exemplo a seguir é uma parte de um arquivo INF que mostra como usar a palavra-chave SetupPreferredAudioDevices:

  AddReg = XYZ-Audio-Device.AddReg
  ...
  [XYZ-Audio-Device.AddReg]
  HKR,,SetupPreferredAudioDevices,3,01,00,00,00

A diretiva no final do exemplo especifica que o dispositivo chamado "XYZ-Audio-Device" agora é o dispositivo de áudio preferido. HKR é a chave raiz do dispositivo de áudio no registro. The flags parameter is set to 3, which is the bitwise OR of FLG_ADDREG_BINVALUETYPE and FLG_ADDREG_NOCLOBBER. Este último impede que as entradas de registro de dispositivo preferencial existentes do dispositivo sejam substituídas no caso de o dispositivo já estar instalado e seu driver estar apenas sendo atualizado. Os quatro bytes no final da diretiva especificam um valor diferente de zero, que é necessário para ativar a diretiva.

With the current implementation of the SetupPreferredAudioDevices keyword in Windows Vista, any audio endpoint with its dword-value set to an odd number can be set as the default device. Para certificar-se de que o ponto de extremidade correto está definido como o dispositivo padrão, certifique-se de que o filtro KS que contém o ponto de extremidade relevante seja exposto por último. Você precisa fazer isso devido ao algoritmo que o serviço AudioEndpointBuilder usa para preencher repositórios de propriedades e definir dispositivos padrão.