KSPROPERTY_JACK_DESCRIPTION3

KSPROPERTY_JACK_DESCRIPTION3屬性會實作為使用篩選控制碼存取的針腳屬性。

在 22H2 版和更新版本的 Windows 作業系統中,相關聯的 KSJACK_DESCRIPTION3 結構可用來指定和變更目前的插孔組態。

使用量摘要資料表

Get 集合 目標 屬性描述項類型 屬性值類型

透過篩選控制碼 (釘選處理站)

KSP_PIN

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 設定的重新整理快取值,然後使用者設定會從舊端點複製到新的端點,最後會刪除舊的端點。 如需作業系統升級中音訊端點移轉程式的詳細資訊,請參閱 作業系統升級

規格需求

最低支援的用戶端

可在 22H2 版和更新版本的 Windows 作業系統中使用。

標頭

Ksmedia.h

另請參閱

KSJACK_DESCRIPTION3

KSMULTIPLE_ITEM

作業系統升級