共用方式為


使用自訂互斥類型

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows Media Format 11 SDK。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

您可以在設定檔中使用相互排除物件,以符合自訂案例的需求。 藉由將 GUID 值CLSID_WMMUTEX_Unknown傳遞至 IWMMutualExclusion::SetType,即可通知相互排除物件您正在使用自訂案例。

當您讀取具有自訂互斥值的檔案時,必須手動控制串流選取專案。 讀取器物件會使用您新增至互斥的第一個資料流程作為預設值。

使用下列步驟來建立自訂互斥物件,並將其新增至設定檔:

  1. 呼叫 WMCreateProfileManager 函式來建立設定檔管理員。

  2. 從現有的設定檔開始,或建立全新的設定檔。

  3. 呼叫 IWMProfile::CreateNewStream,將資料流程新增至新的設定檔。 使用 IWMStreamConfig的 方法來視需要設定資料流程。 您也可以呼叫 QueryInterface 來存取資料流程組態物件中的其他介面。

    CreateNewStream 只會建立資料流程組態物件,而且不會影響設定檔。 正確設定資料流程之後,您必須呼叫 IWMProfile::AddStream ,將資料流程新增至設定檔。

  4. 呼叫 IWMProfile::CreateNewMutualExclusion來建立相互排除物件。

  5. 呼叫 IWMStreamList::AddStream (直接從 IWMMutualExclusion取得的資料流程新增至互斥物件,其繼承自 IWMStreamList) 。

  6. 呼叫 IWMMutualExclusion::SetType,將互斥類型設定為自訂。 傳遞CLSID_WMMUTEX_Unknown做為 GUID 類型。

  7. 呼叫 IWMProfile::AddMutualExclusion,將設定的互斥物件新增至設定檔。

IWMMutualExclusion 介面

IWMProfile 介面

IWMProfileManager 介面

IWMStreamConfig 介面

IWMStreamList 介面

使用互斥

WMCreateProfileManager