Метод ISampleGrabber::SetCallback

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

Примечание

[Не рекомендуется. Этот API может быть удален из будущих выпусков Windows.]

 

Метод SetCallback указывает метод обратного вызова для входящих примеров.

Синтаксис

HRESULT SetCallback(
   ISampleGrabberCB *pCallback,
   long             WhichMethodToCallback
);

Параметры

pCallback

Указатель на интерфейс ISampleGrabberCB , содержащий метод обратного вызова, или значение NULL для отмены обратного вызова.

WhichMethodToCallback

Индекс, указывающий метод обратного вызова. Необходимо установить одно из следующих значений.

Значение Описание
0 Фильтр Sample Grabber вызывает метод ISampleGrabberCB::SampleCB . Этот метод получает указатель IMediaSample .
1 Фильтр Sample Grabber вызывает метод ISampleGrabberCB::BufferCB . Этот метод получает указатель на буфер, содержащийся в образце носителя.

 

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

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Поток обработки данных блокируется до тех пор, пока не будет возвращен метод обратного вызова. Если обратный вызов не возвращается быстро, он может помешать воспроизведению.

Фильтр не вызывает функцию обратного вызова для примеров предварительной подготовки или примеров, в которых элемент dwStreamIdструктуры AM_SAMPLE2_PROPERTIES не является AM_STREAM_MEDIA.

Примечание

Файл заголовка Qedit.h несовместим с заголовками Direct3D более поздней версии 7.

 

Примечание

Чтобы получить Qedit.h, скачайте обновление Microsoft Windows SDK для Windows Vista и платформа .NET Framework 3.0. Qedit.h недоступен в Microsoft Windows SDK для Windows 7 и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1).

 

Требования

Требование Значение
Заголовок
Qedit.h
Библиотека
Strmiids.lib

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

Использование примера Grabber

Интерфейс ISampleGrabber