[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器 和 接收寫入器已取代它。 來源讀取器 和 接收寫入器 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新代碼盡可能使用 Source Reader 和 Sink Writer,而不是 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,將設定的互斥物件新增至配置檔。
相關主題