Share via


端點標識符字串

在 Windows Vista 中,系統會產生端點標識符字串,以識別系統中的 音訊端點裝置 。 端點標識符字串是以 Null 結尾的寬字元字串。 特定音訊端點裝置的端點標識符字串可唯一識別系統中所有音訊端點裝置之間的裝置。

如果系統包含兩個或多個相同的音訊配接器裝置,對應的音訊端點裝置將會有相同的易記名稱,但每個端點裝置都會有唯一的端點標識符字串。 如需取得端點裝置易記名稱的詳細資訊,請參閱 裝置屬性

取得 音訊端點裝置的 IMMDevice 介面實例之後,用戶端可以呼叫 IMMDevice::GetId 方法來取得裝置的端點標識符字串。 用戶端可以使用端點標識符字串,在稍後或呼叫 IMMDeviceEnumerator::GetDevice 方法,在不同的進程中建立音頻端點裝置的實例。

當任何音訊端點裝置的狀態變更時,用戶端可以排列以接收通知。 為了接收通知,用戶端會實作 IMMNotificationClient 介面,並使用 MMDevice API 註冊該介面。 當端點裝置的狀態變更時,MMDevice API 會在用戶端的 EDataFlow 介面中呼叫適當的方法。 方法的其中一個輸入參數是端點標識符字串,可識別狀態已變更的端點裝置。 如需 EDataFlow 的詳細資訊,請參閱裝置事件

DirectSound 和 Windows 多媒體函式等舊版音訊 API 有自己的介面來列舉和識別音訊裝置。 在 Windows Vista 中,這些介面已擴充,以提供端點標識符字串,以識別 API 所呈現裝置抽象概念的基礎端點裝置。

在 DirectSound 裝置列舉期間,DirectSound 會為其列舉的每個裝置提供端點標識符字串。 如需詳細資訊,請參閱 舊版音訊應用程式的音訊事件。

若要取得舊版超聲波裝置的端點標識符字串,請使用 waveOutMessage 或 waveInMessage 函式,將DRV_QUERYFUNCTIONINSTANCEID訊息傳送至超聲波設備驅動器。 如需顯示使用此訊息的程式代碼範例,請參閱 舊版 Windows 多媒體應用程式的裝置角色。

如需使用核心音訊 API 功能來增強使用舊版音訊 API 之應用程式的詳細資訊,請參閱 與舊版音訊 API 的互操作性。

用戶端應將端點標識符字串的內容視為不透明。 也就是說,客戶端不應該嘗試剖析字串的內容,以取得裝置的相關信息。 原因是字串格式未定義,而且可能會從MMDevice API系統模組的其中一個實作變更為下一個。

端點標識符字串的存留期會系結至裝置安裝。 如果使用者升級裝置驅動程式,或使用者卸載裝置,並再次安裝裝置,裝置的端點標識符字串就會變更。 不過,當使用者拔除裝置並插回裝置時,端點標識符字串在系統重新啟動時會保持不變,而USB音訊裝置的端點標識符字串會保持不變。

音訊端點裝置