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
Другие вопросы по тегам