共用方式為


MFCreateSampleCopierMFT 函式 (mfidl.h)

建立範例複製器轉換的實例。

語法

HRESULT MFCreateSampleCopierMFT(
  [out] IMFTransform **ppCopierMFT
);

參數

[out] ppCopierMFT

接收 IMFTransform 介面的指標。 呼叫端必須釋放 介面。

傳回值

如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

範例複製器是媒體基礎轉換 (MFT) ,可將資料從輸入範例複製到輸出範例,而不需修改資料。 下列資料會從範例複製:

  • 所有 範例屬性
  • 時間戳記和持續時間。
  • (範例旗標請參閱 IMFSample::SetSampleFlags) 。
  • 媒體緩衝區中的資料。 如果輸入範例包含多個緩衝區,資料就會複製到輸出範例上的單一緩衝區。
在下列情況下,此 MFT 很有用:
  • 一個管線物件,例如媒體來源,會配置媒體範例以供輸出使用。
  • 另一個管線物件,例如媒體接收,會配置自己的媒體範例以供輸入。 例如,物件可能需要從特殊記憶體集區配置的緩衝區,例如視訊記憶體。
下圖顯示媒體來源和媒體接收的這種情況。 圖表:媒體來源指向範例;媒體接收會指向第二個範例;範例複製器指向第一個範例到第二個範例的箭號

為了讓媒體接收接收來自媒體來源的資料,必須將資料複製到媒體接收所擁有的媒體範例中。 範例複製器可用於此用途。

這類媒體接收的特定範例是 增強式視訊轉譯器 (EVR) 。 EVR 會配置包含 Direct3D 表面緩衝區的範例,因此無法直接從媒體來源接收視訊樣本。 從 Windows 7 開始,拓撲載入器會自動處理此案例,方法是在媒體來源與 EVR 之間插入範例複製器。

需求

   
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 mfidl.h
程式庫 Mf.lib
Dll Mf.dll

另請參閱

媒體基礎函式