Метод IMemAllocatorCallbackTemp::SetNotify (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод SetNotify
задает или удаляет обратный вызов в распределителе. Распределитель вызывает метод обратного вызова при каждом вызове метода IMemAllocator::ReleaseBuffer .
Синтаксис
HRESULT SetNotify(
IMemAllocatorNotifyCallbackTemp *pNotify
);
Параметры
pNotify
Указатель на интерфейс IMemAllocatorNotifyCallbackTemp , который будет использоваться для обратного вызова. Вызывающий объект должен реализовать интерфейс . Используйте значение NULL , чтобы удалить обратный вызов.
Возвращаемое значение
Возвращает S_OK в случае успешного выполнения или код ошибки в противном случае.
Комментарии
При каждом вызове метода ReleaseBuffer распределителя он вызывает метод NotifyRelease в интерфейсе, указанном в pNotify. Метод ReleaseBuffer возвращает образец носителя в список свободного распределителя. Примеры вызывают этот метод, когда количество ссылок достигает нуля.
Распределитель содержит счетчик ссылок в интерфейсе IMemAllocatorNotifyCallbackTemp вызывающей стороны. Это может создавать циклические счетчики ссылок, тем самым предотвращая правильное освобождение объектов в графе. Поэтому, когда вызывающему объекту больше не нужны уведомления о обратном вызове, он должен снова вызвать этот метод со значением NULL. Подходящее время для этого — остановка графа или отключение контактов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |