KSPROPERTY_JACK_DESCRIPTION3 屬性會實作為使用篩選句柄存取的針腳屬性。
在 22H2 版和更新版本的 Windows作系統中,相關聯的 KSJACK_DESCRIPTION3 結構可用來指定和變更插孔的目前組態。
使用量摘要數據表
| 獲取 | 設定 | 標的 | 屬性描述項類型 | 屬性值類型 |
|---|---|---|---|---|
是的 |
否 |
釘選處理站 (透過篩選句柄) |
KSMULTIPLE_ITEM 後面接著 KSJACK_DESCRIPTION3 結構的陣列 |
屬性值(實例數據)是KSMULTIPLE_ITEM,後面接著KSJACK_DESCRIPTION3結構的陣列。
傳回值
KSPROPERTY_JACK_DESCRIPTION3屬性要求會傳回KSMULTIPLE_ITEM,後面接著 N 個KSJACK_DESCRIPTION3結構的數位,其中 N = 與指定網橋接腳相關聯的插孔數目。 下列清單顯示屬性要求所傳回的專案。
KSMULTIPLE_ITEM。Size = sizeof(KSMULTIPLE_ITEM) + N * sizeof(KSJACK_DESCRIPTION3)
KSMULTIPLE_ITEM。Count = N
KSJACK_DESCRIPTION3[0]
...
KSJACK_DESCRIPTION3[N-1]
備註
使用 KSJACK_DESCRIPTION3和 KSPROPERTY_JACK_DESCRIPTION3 通訊音訊裝置變更
Windows 音訊系統會在音訊端點建立期間快取音訊裝置功能。 這些快取值適用於 HW 音訊引擎、格式支援、容器標識碼、緩衝區大小特性等功能。這些快取的值會保留於 Windows 安裝的存留期。 只有當音訊驅動程式更新或作系統升級期間,才會重新整理它們。
使用 KSJACK_DESCRIPTION3時,Windows 音訊系統會提供一種機制,讓音訊驅動程式要求捨棄並重新整理所有快取的值。 要求可以透過音訊裝置功能的變更來觸發,例如資源條件約束。
每當驅動程式在運行時間變更KSJACK_DESCRIPTION3的內容時,驅動程式就會觸發現有的 KSEVENT_PINCAPS_JACKINFOCHANGE 事件。
Windows 音訊系統會維護在音訊端點上快取的最後一個報告 ConfigId 值。 系統會擷取 ConfigId 值,以回應 KSEVENT_PINCAPS_JACKINFOCHANGE 事件,並在系統開機時正常處理音訊端點、音訊端點產生器服務重新啟動、音訊驅動程式更新或端點的介面狀態變更。
如果擷取的 ConfigId 值與先前儲存的值不同,Windows 音訊系統將會捨棄所有先前快取的端點功能,並重新整理它們。
建議的使用方式是在 ConfigId (位掩碼或列舉) 值所控制的驅動程式內定義多個音訊端點組態。 例如, ConfigId 為 1 可能表示音訊引擎節點的存在,而 ConfigId 2 則不會報告音訊引擎節點。 驅動程式所使用的 ConfigId 會透過KSPROPERTY_JACK_DESCRIPTION3與 Windows 音訊系統共用,並用來同步處理端點與 Windows 音訊系統快取的功能。
ConfigId 的值對 Windows 不透明。 音訊驅動程式可以使用運行時間選擇的時間戳或遞增值,來取代上述的位掩碼或列舉。 不建議使用此策略,因為它可能會導致啟動期間不必要的端點重新整理或介面變更,以將最後儲存的 ConfigId 值同步處理至新報告的值,即使端點功能未變更也一樣。 這種方法也可能會增加驅動程式和 Windows 同步處理不足的機會,這可能會導致音訊播放失敗。
當 ConfigId 變更與用於作系統升級和驅動程式更新時,用來重新整理端點上快取值的機制。 系統會建立具有不同標識元的新端點,其中包含符合端點新 ConfigId 設定的重新整理快取值,然後使用者設定會從舊的端點複製到新的端點,最後刪除舊的端點。 如需有關OS升級中音訊端點移轉程式的詳細資訊,請參閱 作系統升級。
需求
最低支援的用戶端 |
可在 22H2 版和更新版本的 Windows作系統中使用。 |
頁首 |
Ksmedia.h |