Я пытаюсь выполнить код, сгенерированный graphEditPlus (используя VS2010), но у меня возникли проблемы со следующей строкой:
CComQIPtr<ISampleGrabber, &IID_ISampleGrabber> pSampleGrabber_isg(pSampleGrabber);
где ошибки:
ошибка C2065: «ISampleGrabber»: необъявленный идентификатор
ошибка C2065: «IID_ISampleGrabber»: необъявленный идентификатор
ошибка C2514: «ATL :: CComQIPtr»: класс не имеет конструкторов
Я пытался загрузить разные версии Windows SDK (V7.1, V6.0A, V5) и установить пути include / lib, но проблема все еще была!
SampleGrabber все еще поддерживается? В основном SampleGrabber используется в моем коде для захвата кадров из источника захвата видео …
Спасибо за твою помощь…
Microsoft осудила Sample Grabber и весь API DES, однако вы импортируете библиотеку типов или просто копируете декларации в свой проект — компонент по-прежнему можно использовать, за исключением некоторых самых последних выпусков ОС (Windows Server 2008?), Где он полностью исчез. и вам может понадобиться другое решение, такое как создание собственного из более ранних образцов SDK.
Увидеть ISampleGrabber устарел: где я могу найти альтернативы? для дополнительной информации.
Смотрите также RenderWmvVideo.cpp с фрагментом кода для копирования / вставки и повторного добавления объявлений в ваш проект (#pragma
раздел в верхней части файла):
#pragma region Windows SDK Tribute, qedit.h
struct __declspec(uuid("0579154a-2b53-4994-b0d0-e773148eff85"))
ISampleGrabberCB : IUnknown
{
...
#pragma endregion