Визуальный фильтр C ++ DirectShow Private Interface

Я использую пример прямого показа ezrgb24 и пытаюсь раскрыть его частный интерфейс.
В файле iez.h есть код ниже

DEFINE_GUID(IID_IIPEffect,
0xfd5010a3, 0x8ebe, 0x11ce, 0x81, 0x83, 0x00, 0xaa, 0x00, 0x57, 0x7d, 0xa1);

DECLARE_INTERFACE_(IIPEffect, IUnknown)
{
STDMETHOD(get_IPEffect) (THIS_
int *effectNum,         // The current effect
REFTIME *StartTime,     // Start time of effect
REFTIME *Length         // length of effect
) PURE;

STDMETHOD(put_IPEffect) (THIS_
int effectNum,          // Change to this effect
REFTIME StartTime,      // Start time of effect
REFTIME Length          // Length of effect
) PURE;
};

после создания dll, я зарегистрировал его, используя окно cmd.
Как мне выставить или использовать get_IPEffect () или put_IPEffect () из нашего проекта?

я закодировал, как показано ниже, но это не сработало

DEFINE_GUID(IID_IIPEffect,
0xfd5010a3, 0x8ebe, 0x11ce, 0x81, 0x83, 0x00, 0xaa, 0x00, 0x57, 0x7d, 0xa1);
DEFINE_GUID(CLSID_ImageEffect,
0x8B498501, 0x1218, 0x11CF, 0xAD, 0xC4, 0x00, 0xA0, 0xD1, 0x00, 0x04, 0x1B);

IBaseFilter *pImageEffect = NULL;
chr = CoCreateInstance(CLSID_ImageEffect, NULL, CLSCTX_INPROC_SERVER,
IID_IBaseFilter, (void**) &pImageEffect);
chr = pGraph->AddFilter(pImageEffect, L"RGB Resizer");IIPEffect *pEZrgb24 = NULL;
chr = pImageEffect->QueryInterface(IID_IIPEffect, (void **) &pEZrgb24);

В IIPEffect я получаю ошибку «IIPEffect: необъявленный идентификатор», как я должен объявить это?

0

Решение

Спасибо RomarR и Wimmel, я включил iez.h в мой проект, и он работает нормально

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector