Compartir a través de


SetupPreferredAudioDevices

La palabra clave SetupPreferredAudioDevices denota el dispositivo de audio preferido, que es el dispositivo que el sistema de audio habilita de forma predeterminada cuando el sistema contiene uno o varios dispositivos de audio. Esta palabra clave es específica de clase multimedia y es compatible con Microsoft Windows Millennium Edition/Windows 98, Microsoft Windows 2000, Windows XP y Windows Vista. SetupPreferredAudioDevicesis no se admite en Windows 7.

Al crear un dispositivo de audio, un programa de aplicación puede optar por usar el dispositivo predeterminado (o preferido) en lugar de especificar explícitamente un dispositivo. (Por ejemplo, vea las descripciones de las funciones waveOutOpen y DirectSoundCreate en la documentación de Microsoft Windows SDK).

El sistema de audio realiza un seguimiento del dispositivo de audio preferido actual en el registro del sistema. Cuando un usuario actualiza un sistema instalando un nuevo dispositivo de audio, el archivo INF propietario que instala el dispositivo normalmente actualiza el registro para designar el nuevo dispositivo como dispositivo de audio preferido.

La palabra clave SetupPreferredAudioDevices puede aparecer dentro de una directiva de actualización del Registro en la sección add-registry-section (consulte Inf AddReg Directive) de un archivo INF para un dispositivo de audio. Esta directiva tiene el formato siguiente:

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

La directiva indica al sistema de audio que use las funciones de audio del dispositivo como valores predeterminados para la reproducción de sonido, la grabación de sonido y la reproducción de música MIDI. Después de la instalación, estos tres valores predeterminados aparecen en el panel de control Sonidos y Multimedia en la pestaña Audio. El usuario puede usar Panel de control para cambiar los dispositivos predeterminados.

El parámetro dword-value de la directiva especifica un valor DWORD que debe ser distinto de cero para habilitar la directiva. Si este valor es cero, la directiva no tiene ningún efecto. Dado que Windows Me/98 no admite el tipo de datos del Registro REG_DWORD, sin embargo, dword-value se expresa normalmente como un tipo de REG_BINARY de 4 bytes en lugar de como DWORD (por ejemplo, como "01,00,00,00" en lugar de "0x00000001"). El parámetro dword-value se puede especificar en formato binario sin formato estableciendo el parámetro flags de la directiva en "1" (FLG_ADDREG_BINVALUETYPE).

La directiva surte efecto en el momento en que se instala el controlador para el dispositivo. Si otro dispositivo ocupa el rol de dispositivo preferido en el momento en que se instala el nuevo dispositivo, la directiva hace que el nuevo dispositivo asuma el rol de dispositivo preferido, lo que desplaza al otro dispositivo de este rol.

Al actualizar o reinstalar el controlador para un dispositivo que ya se ha instalado, es posible que quiera evitar modificar las selecciones de dispositivo preferidas actuales del usuario para la reproducción de sonido, la grabación de sonido y la reproducción de música MIDI. Si es así, establezca el bit FLG_ADDREG_NOCLOBBER en el parámetro flags , lo que hace que la directiva surta efecto solo si se trata de la instalación inicial del dispositivo.

Ejemplo

El ejemplo siguiente es una parte de un archivo INF que muestra cómo usar la palabra clave SetupPreferredAudioDevices:

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

La directiva al final del ejemplo especifica que el dispositivo denominado "XYZ-Audio-Device" es ahora el dispositivo de audio preferido. HKR es la clave raíz del dispositivo de audio en el registro. El parámetro flags se establece en 3, que es el OR bit a bit de FLG_ADDREG_BINVALUETYPE y FLG_ADDREG_NOCLOBBER. Este último impide que las entradas del registro de dispositivos preferidos existentes del dispositivo se sobrescriban en caso de que el dispositivo ya esté instalado y su controlador se esté actualizando. Los cuatro bytes al final de la directiva especifican un valor distinto de cero, que es necesario para habilitar la directiva .

Con la implementación actual de la palabra clave SetupPreferredAudioDevices en Windows Vista, cualquier punto de conexión de audio con su valor dword establecido en un número impar se puede establecer como el dispositivo predeterminado. Para asegurarse de que el punto de conexión correcto está establecido como dispositivo predeterminado, asegúrese de que el filtro KS que contiene el punto de conexión pertinente se expone en último lugar. Debe hacerlo debido al algoritmo que usa el servicio AudioEndpointBuilder para rellenar los almacenes de propiedades y establecer dispositivos predeterminados.