Метод IMFTrackedSample::SetAllocator (mfidl.h)
Задает владельца для примера.
Синтаксис
HRESULT SetAllocator(
[in] IMFAsyncCallback *pSampleAllocator,
[in] IUnknown *pUnkState
);
Параметры
[in] pSampleAllocator
Указатель на интерфейс IMFAsyncCallback объекта обратного вызова. Вызывающий объект должен реализовать этот интерфейс.
[in] pUnkState
Указатель на интерфейс IUnknown объекта состояния, определенного вызывающим объектом. Этот параметр может принимать значение NULL. Этот объект можно использовать для хранения сведений о состоянии. Объект возвращается вызывающей при вызове обратного вызова.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Владелец уже задан. Этот метод нельзя вызвать дважды в образце. |
Комментарии
При вызове этого метода пример содержит дополнительный счетчик ссылок на себя. Когда каждый другой объект освобождает свои счетчики ссылок в образце, пример вызывает метод обратного вызова pSampleAllocator . Чтобы получить указатель на пример, вызовите IMFAsyncResult::GetObject в асинхронном объекте результата, заданном методу IMFAsyncCallback::Invoke обратного вызова.
После вызова обратного вызова пример очищает обратный вызов. Чтобы восстановить обратный вызов, необходимо снова вызвать SetAllocator .
Можно безопасно передать указатель интерфейса IMFSample образца в качестве объекта состояния (pUnkState) для обратного вызова. Если pUnkState указывает на пример, метод SetAllocator учитывает дополнительное количество ссылок в pUnkState.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mfidl.h |
Библиотека | Strmiids.lib |