Compartilhar via


SetupPreferredAudioDevices

A palavra-chave SetupPreferredAudioDevices indica o dispositivo de áudio preferencial, 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 tem suporte do Microsoft Windows Millennium Edition/Windows 98, Microsoft Windows 2000, Windows XP e Windows Vista. SetupPreferredAudioDevicesis não tem suporte no Windows 7.

Ao criar um dispositivo de áudio, um programa de aplicativo pode optar por usar o dispositivo padrão (ou preferencial) 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 preferencial 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 preferencial.

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. Essa 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 esse valor for zero, a diretiva não terá efeito. 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 está instalado. Se outro dispositivo ocupar a função de dispositivo preferencial no momento em que o novo dispositivo estiver instalado, a diretiva fará com que o novo dispositivo assuma a função 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 do dispositivo preferencial 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 de

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 preferencial. 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 existentes do registro de dispositivo preferencial do dispositivo sejam substituídas caso o dispositivo já esteja instalado e seu driver esteja apenas sendo atualizado. Os quatro bytes no final da diretiva especificam um valor diferente de zero, que é necessário para habilitar 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 garantir que o ponto de extremidade correto seja 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 por causa do algoritmo que o serviço AudioEndpointBuilder usa para preencher repositórios de propriedades e definir dispositivos padrão.