IMFTopoLoader::Load 方法 (mfidl.h)
從輸入部分拓撲建立完全載入的拓撲。
語法
HRESULT Load(
[in] IMFTopology *pInputTopo,
[out] IMFTopology **ppOutputTopo,
[in] IMFTopology *pCurrentTopo
);
參數
[in] pInputTopo
要解析之部分拓撲之 IMFTopology 介面的指標。
[out] ppOutputTopo
接收已完成拓撲之 IMFTopology 介面的指標。 呼叫端必須釋放 介面。
[in] pCurrentTopo
先前完整拓撲之 IMFTopology 介面的指標。 拓撲載入器可以從新拓撲中的這個拓撲重複使用物件。 此參數可以是 Null。 請參閱<備註>。
傳回值
方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
一或多個輸出節點包含 IMFActivate 指標。 呼叫端必須將輸出節點系結至媒體接收。 請參閱 將輸出節點系結至媒體接收。 |
備註
這個方法會建立完成拓撲所需的任何中繼轉換。 它也會在拓撲中的所有物件上設定輸入和輸出媒體類型。 如果方法成功,則會在 ppOutputTopo 參數中傳回完整拓撲。
您可以使用 pCurrentTopo 參數來提供先前載入的完整拓撲。 如果此拓撲包含新拓撲中所需的物件,拓撲載入器就可以重複使用它們,而不需要再次建立它們。 此快取可能會讓程式更快速。 pCurrentTopo中的物件將不會重新設定,因此您可以指定正在串流資料的拓撲。 例如,當拓撲仍在執行時,您可以預先載入下一個拓撲。
在呼叫此方法之前,您必須確定部分拓撲中的輸出節點具有有效的 IMFStreamSink 指標,而不是 IMFActivate 指標。 媒體會話會自動在 IMFMediaSession::SetTopology 方法內執行此動作。 不過,如果您在呼叫SetTopology之前呼叫Load,則必須手動系結輸出節點。 如需詳細資訊,請參閱 將輸出節點系結至媒體接收。
需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mfidl.h |
程式庫 | Mfuuid.lib |