使用自訂互斥類型
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows Media Format 11 SDK。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
您可以在設定檔中使用相互排除物件,以符合自訂案例的需求。 藉由將 GUID 值CLSID_WMMUTEX_Unknown傳遞至 IWMMutualExclusion::SetType,即可通知相互排除物件您正在使用自訂案例。
當您讀取具有自訂互斥值的檔案時,必須手動控制串流選取專案。 讀取器物件會使用您新增至互斥的第一個資料流程作為預設值。
使用下列步驟來建立自訂互斥物件,並將其新增至設定檔:
呼叫 WMCreateProfileManager 函式來建立設定檔管理員。
從現有的設定檔開始,或建立全新的設定檔。
- 如果您使用現有的設定檔,請呼叫 IWMProfileManager 介面的其中一個載入方法。 然後跳至步驟 4。
- 如果您要建立全新的設定檔,請呼叫 IWMProfileManager::CreateEmptyProfile。
呼叫 IWMProfile::CreateNewStream,將資料流程新增至新的設定檔。 使用 IWMStreamConfig的 方法來視需要設定資料流程。 您也可以呼叫 QueryInterface 來存取資料流程組態物件中的其他介面。
CreateNewStream 只會建立資料流程組態物件,而且不會影響設定檔。 正確設定資料流程之後,您必須呼叫 IWMProfile::AddStream ,將資料流程新增至設定檔。
呼叫 IWMProfile::CreateNewMutualExclusion來建立相互排除物件。
呼叫 IWMStreamList::AddStream (直接從 IWMMutualExclusion取得的資料流程新增至互斥物件,其繼承自 IWMStreamList) 。
呼叫 IWMMutualExclusion::SetType,將互斥類型設定為自訂。 傳遞CLSID_WMMUTEX_Unknown做為 GUID 類型。
呼叫 IWMProfile::AddMutualExclusion,將設定的互斥物件新增至設定檔。
相關主題