Поделиться через


Метод IMFTrackedSample::SetAllocator (mfidl.h)

Задает владельца для примера.

Синтаксис

HRESULT SetAllocator(
  [in] IMFAsyncCallback *pSampleAllocator,
  [in] IUnknown         *pUnkState
);

Параметры

[in] pSampleAllocator

Указатель на интерфейс IMFAsyncCallback объекта обратного вызова. Вызывающий объект должен реализовать этот интерфейс.

[in] pUnkState

Указатель на интерфейс IUnknown объекта состояния, определенного вызывающим объектом. Этот параметр может принимать значение NULL. Этот объект можно использовать для хранения сведений о состоянии. Объект возвращается вызывающей при вызове обратного вызова.

Возвращаемое значение

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
MF_E_NOTACCEPTING
Владелец уже задан. Этот метод нельзя вызвать дважды в образце.

Комментарии

При вызове этого метода пример содержит дополнительный счетчик ссылок на себя. Когда каждый другой объект освобождает свои счетчики ссылок в образце, пример вызывает метод обратного вызова pSampleAllocator . Чтобы получить указатель на пример, вызовите IMFAsyncResult::GetObject в асинхронном объекте результата, заданном методу IMFAsyncCallback::Invoke обратного вызова.

После вызова обратного вызова пример очищает обратный вызов. Чтобы восстановить обратный вызов, необходимо снова вызвать SetAllocator .

Можно безопасно передать указатель интерфейса IMFSample образца в качестве объекта состояния (pUnkState) для обратного вызова. Если pUnkState указывает на пример, метод SetAllocator учитывает дополнительное количество ссылок в pUnkState.

Требования

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

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

IMFTrackedSample