IMFSample::GetBufferByIndex 方法 (mfobjects.h)

依索引從範例取得緩衝區。

注意 在大部分情況下,使用 IMFSample::ConvertToContiguousBuffer 方法會比較安全。 如果範例包含多個緩衝區, ConvertToContiguousBuffer 方法會將它們取代為單一緩衝區、將原始數據複製到該緩衝區,並將新的緩衝區傳回給呼叫端。 複製作業最多會發生一次。 在後續呼叫時,不會複製任何數據。
 

語法

HRESULT GetBufferByIndex(
  [in]  DWORD          dwIndex,
  [out] IMFMediaBuffer **ppBuffer
);

參數

[in] dwIndex

緩衝區的索引。 若要尋找範例中的緩衝區數目,請呼叫 IMFSample::GetBufferCount。 緩衝區是從零編製索引。

[out] ppBuffer

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

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。
E_INVALIDARG
NULL 指標自變數,或索引超出範圍。

備註

範例可能包含多個緩衝區。 使用 GetBufferByIndex 方法來列舉個別緩衝區。

如果已安裝 Windows Media Format 11 SDK 可轉散發元件,此介面可在下列平臺上使用:

  • Windows XP with Service Pack 2 (SP2) 和更新版本。
  • 已安裝 Windows XP Media Center Edition 2005 KB900325 (Windows XP Media Center 版本 2005) 和 KB925766 (2006 年 10 月更新匯總) 。

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfobjects.h (include Mfidl.h)
程式庫 Mfuuid.lib

另請參閱

IMFSample

IMFSample::ConvertToContiguousBuffer

媒體範例