共用方式為


SetupPreferredAudioDevices

SetupPreferredAudioDevices 關鍵字代表慣用的音訊裝置,這是當系統包含一或多個音訊裝置時,音訊系統預設啟用的裝置。 此關鍵字是媒體類別特有的,且由 Microsoft Windows Premium Edition/Windows 98、Microsoft Windows 2000、Windows XP 和 Windows Vista 支援。 Windows 7 不支援 SetupPreferredAudioDevicesis。

建立音訊裝置時,應用程式可以選擇使用預設 (或慣用的) 裝置,而不是明確指定裝置。 (例如,請參閱 Microsoft Windows SDK 檔.) 中的waveOutOpenDirectSoundCreate函式描述

音訊系統會持續追蹤系統登錄中目前慣用的音訊裝置。 當使用者藉由安裝新的音訊裝置來升級系統時,安裝裝置的專屬 INF 檔案通常會更新登錄,以將新裝置指定為慣用的音訊裝置。

SetupPreferredAudioDevices 關鍵字可以出現在 add-registry-section 中的登錄更新指示詞內 (請參閱音訊裝置 INF 檔案的 INF AddReg 指示 詞) 。 此指示詞的格式如下:

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

指示詞會指示音訊系統使用裝置的音訊功能做為音效播放、聲音錄製和 MIDI 音樂播放的預設值。 安裝之後,這三個預設值會出現在 [音訊] 索引標籤下的 [音效] 和 [多媒體] 控制台中。使用者可以使用主控台來變更預設裝置。

指示詞的 dword-value 參數會指定應該為非零的 DWORD 值,以便啟用 指示詞。 如果此值為零,指示詞就不會有任何作用。 因為 Windows Me/98 不支援REG_DWORD登錄資料類型,但是 dword-value 通常會以 4 位元組REG_BINARY類型表示,而不是以 DWORD (表示,例如「01,00,00,00」,而不是 「0x00000001」。) 。 您可以將 指示詞的flags參數設定為 「1」 (FLG_ADDREG_BINVALUETYPE) ,以原始二進位格式指定dword-value參數。

指示詞會在安裝裝置的驅動程式時生效。 如果另一部裝置在安裝新裝置時佔用慣用裝置的角色,指示詞會讓新裝置擔任慣用裝置的角色,因而使另一部裝置從這個角色中取代其他裝置。

升級或重新安裝已安裝之裝置的驅動程式時,您可以避免變更使用者目前慣用的裝置選擇,以進行音效播放、錄音和 MIDI 音樂播放。 如果是,請在 flags 參數中設定FLG_ADDREG_NOCLOBBER位,這只會在裝置的初始安裝時,指示詞才會生效。

範例

下列範例是 INF 檔案的一部分,示範如何使用 SetupPreferredAudioDevices 關鍵字:

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

範例結尾的 指示詞會指定名為 「XYZ-Audio-Device」 的裝置現在是慣用的音訊裝置。 HKR 是登錄中的音訊裝置根機碼。 flags參數設定為 3,這是FLG_ADDREG_BINVALUETYPE和FLG_ADDREG_NOCLOBBER的位 OR。 後者可防止裝置的現有慣用裝置登錄專案在裝置已安裝且其驅動程式只是升級時遭到覆寫。 指示詞結尾的四個位元組會指定非零值,這是啟用 指示詞的必要條件。

在 Windows Vista 中使用 SetupPreferredAudioDevices 關鍵字的目前實作,任何將其 dword 值 設為奇數的音訊端點都可以設定為預設裝置。 若要確定已將正確的端點設定為預設裝置,請確定最後公開包含相關端點的 KS 篩選器。 您必須這樣做,因為 AudioEndpointBuilder 服務用來填入屬性存放區和設定預設裝置的演算法。