IMFMediaSession::SetTopology 方法 (mfidl.h)
在媒體會話上設定拓撲。
語法
HRESULT SetTopology(
[in] DWORD dwSetTopologyFlags,
[in] IMFTopology *pTopology
);
參數
[in] dwSetTopologyFlags
MFSESSION_SETTOPOLOGY_FLAGS列舉中零個或多個旗標的位OR。
[in] pTopology
拓撲物件的 IMFTopology 介面指標。
傳回值
方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
作業無法以媒體會話的目前狀態執行。 |
|
媒體會話已關閉。 |
|
拓撲對於下列一或多個屬性具有不正確值: |
|
偵錯時無法播放受保護的內容。 |
備註
如果pTopology是完整的拓撲,請在dwSetTopologyFlags參數中設定MFSESSION_SETTOPOLOGY_NORESOLUTION旗標。 否則,拓撲會假設為部分拓撲。 媒體會話會使用拓撲載入器,將部分拓撲解析為完整拓撲。
如果媒體會話目前已暫停或停止, SetTopology 方法將不會生效,直到下一次呼叫 IMFMediaSession::Start為止。
如果媒體會話目前正在執行,或在下一次呼叫 Start時, SetTopology 方法會執行下列動作:
- 如果 MFSESSION_SETTOPOLOGY_IMMEDIATE 旗標是在 dwSetTopologyFlags中設定,媒體會話會立即結束目前的簡報、清除所有擱置的拓撲,並使用 pTopology 來啟動新的簡報。
- 否則,媒體會話會排入 pTopology ,並在目前簡報完成時啟動新的簡報。 如果沒有目前的簡報,新簡報會立即啟動。
- 從 Windows 7 開始,您也可以指定 MFSESSION_SETTOPOLOGY_CLEAR_CURRENT 旗標來清除目前的拓撲,但將任何其他擱置的拓撲保留在佇列中。
需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mfidl.h |
程式庫 | Mfuuid.lib |