Freigeben über


SetupPreferredAudioDevices

Die SetupPreferredAudioDevices-Schlüsselwort (keyword) gibt das bevorzugte Audiogerät an. Dies ist das Gerät, das das Audiosystem standardmäßig aktiviert, wenn das System mindestens ein Audiogerät enthält. Dieser Schlüsselwort (keyword) ist medienklassenspezifisch und wird von Microsoft Windows Millennium Edition/Windows 98, Microsoft Windows 2000, Windows XP und Windows Vista unterstützt. SetupPreferredAudioDevicesis wird in Windows 7 nicht unterstützt.

Beim Erstellen eines Audiogeräts kann ein Anwendungsprogramm das Standardgerät (oder das bevorzugte) Gerät verwenden, anstatt explizit ein Gerät anzugeben. (Siehe beispielsweise die Beschreibungen der Funktionen waveOutOpen und DirectSoundCreate in der Microsoft Windows SDK-Dokumentation.)

Das Audiosystem verfolgt das aktuell bevorzugte Audiogerät in der Systemregistrierung nach. Wenn ein Benutzer ein System durch Installieren eines neuen Audiogeräts aktualisiert, aktualisiert die proprietäre INF-Datei, die das Gerät installiert, in der Regel die Registrierung, um das neue Gerät als bevorzugtes Audiogerät festzulegen.

Die SetupPreferredAudioDevices-Schlüsselwort (keyword) kann innerhalb einer Registrierungsupdatedirektive im Abschnitt add-registry-section (siehe INF AddReg-Direktive) einer INF-Datei für ein Audiogerät angezeigt werden. Diese Direktive hat das folgende Format:

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

Die -Direktive weist das Audiosystem an, die Audiofunktionen des Geräts als Standardwerte für die Audiowiedergabe, die Soundaufnahme und die MIDI-Musikwiedergabe zu verwenden. Nach der Installation werden diese drei Standardwerte im Bedienfeld Sounds und Multimedia unter der Registerkarte Audio angezeigt. Der Benutzer kann Systemsteuerung verwenden, um die Standardgeräte zu ändern.

Der dword-value-Parameter der Direktive gibt einen DWORD-Wert an, der ungleich null sein sollte, um die Direktive zu aktivieren. Wenn dieser Wert null ist, hat die -Anweisung keine Auswirkung. Da Windows Me/98 den Registrierungsdatentyp REG_DWORD jedoch nicht unterstützt, wird dword-value in der Regel als 4-Byte-REG_BINARY Typ und nicht als DWORD ausgedrückt (z. B. als "01,00,00,00" anstelle von "0x00000001"). Der dword-value-Parameter kann im unformatierten Binärformat angegeben werden, indem der Flags-Parameter der Direktive auf "1" (FLG_ADDREG_BINVALUETYPE) festgelegt wird.

Die -Direktive wird bei der Installation des Treibers für das Gerät wirksam. Wenn ein anderes Gerät zum Zeitpunkt der Installation des neuen Geräts die Rolle des bevorzugten Geräts einnimmt, bewirkt die -Anweisung, dass das neue Gerät die Rolle des bevorzugten Geräts übernimmt, wodurch das andere Gerät von dieser Rolle verdrängt wird.

Wenn Sie den Treiber für ein bereits installiertes Gerät aktualisieren oder neu installieren, sollten Sie es vermeiden, die aktuelle Auswahl des bevorzugten Geräts des Benutzers für die Soundwiedergabe, die Tonaufnahme und die MIDI-Musikwiedergabe zu ändern. Wenn dies der Fall ist, legen Sie das FLG_ADDREG_NOCLOBBER Bit im Flags-Parameter fest, wodurch die Direktive nur wirksam wird, wenn dies die Erstinstallation des Geräts ist.

Beispiel

Das folgende Beispiel ist Ein Teil einer INF-Datei, die zeigt, wie die SetupPreferredAudioDevices-Schlüsselwort (keyword) verwendet wird:

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

Die -Direktive am Ende des Beispiels gibt an, dass das Gerät mit dem Namen "XYZ-Audio-Device" jetzt das bevorzugte Audiogerät ist. HKR ist der Stammschlüssel des Audiogeräts in der Registrierung. Der Flags-Parameter ist auf 3 festgelegt, d. h. das bitweise OR von FLG_ADDREG_BINVALUETYPE und FLG_ADDREG_NOCLOBBER. Letzteres verhindert, dass die vorhandenen Registrierungseinträge für bevorzugte Geräte des Geräts überschrieben werden, wenn das Gerät bereits installiert ist und der Treiber lediglich aktualisiert wird. Die vier Bytes am Ende der Direktive geben einen Wert ungleich 0 (null) an, der zum Aktivieren der Direktive erforderlich ist.

Mit der aktuellen Implementierung des SetupPreferredAudioDevices-Schlüsselwort (keyword) in Windows Vista kann jeder Audioendpunkt, dessen dword-wert auf eine ungerade Zahl festgelegt ist, als Standardgerät festgelegt werden. Um sicherzustellen, dass der richtige Endpunkt als Standardgerät festgelegt ist, stellen Sie sicher, dass der KS-Filter, der den relevanten Endpunkt enthält, zuletzt verfügbar gemacht wird. Dies ist aufgrund des Algorithmus erforderlich, der vom AudioEndpointBuilder-Dienst zum Auffüllen von Eigenschaftsspeichern und Festlegen von Standardgeräten verwendet wird.