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


Метод CBaseAllocator.SetNotify

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

[SetNotify может быть изменен или недоступен в последующих версиях.]

Метод SetNotify задает или удаляет обратный вызов для распределителя. Распределитель вызывает метод обратного вызова при каждом вызове метода IMemAllocator::ReleaseBuffer распределителя.

Синтаксис

HRESULT SetNotify(
   IMemAllocatorNotifyCallbackTemp *pNotify
);

Параметры

pNotify

Указатель на интерфейс IMemAllocatorNotifyCallbackTemp , который будет использоваться для обратного вызова. Вызывающий объект должен реализовать интерфейс . Используйте значение NULL , чтобы удалить обратный вызов.

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

Возвращает S_OK.

Комментарии

Этот метод реализует метод IMemAllocatorCallbackTemp::SetNotify . Распределитель не предоставляет интерфейс IMemAllocatorCallbackTemp , если только флаг fEnableReleaseCallback не имеет значение TRUE в конструкторе CBaseAllocator .

Этот метод задает переменную-член CBaseAllocator::m_pNotify равным pNotify и увеличивает количество ссылок в интерфейсе. Если m_pNotify не равно NULL, метод ReleaseBuffer распределителя вызывает метод IMemAllocatorNotifyCallbackTemp::NotifyRelease. Сведения о реализации обратного вызова см. в разделе Примечания этого метода.

Требования

Требование Значение
Заголовок
Amfilter.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

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

Класс CBaseAllocator