ISampleGrabber необъявленный идентификатор
Я пытаюсь выполнить код, сгенерированный 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 используется в моем коде для захвата кадров из источника захвата видео...
Спасибо за твою помощь...
1 ответ
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