Метод 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 для перечисления отдельных буферов.

Этот интерфейс доступен на следующих платформах, если установлены распространяемые компоненты пакета SDK для Windows Media Format 11:

  • Windows XP с пакетом обновления 2 (SP2) и более поздних версий.
  • Windows XP Media Center Edition 2005 с установленным KB900325 (Windows XP Media Center Edition 2005) и KB925766 (накопительный пакет обновления за октябрь 2006 г. для Windows XP Media Center Edition).

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfobjects.h (включая Mfidl.h)
Библиотека Mfuuid.lib

См. также раздел

IMFSample

IMFSample::ConvertToContiguousBuffer

Примеры мультимедиа