FourCC кодека
От: MishaB  
Дата: 29.08.04 09:47
Оценка:
Доброго всем дня!
Я вот недельку уже пытаюсь написать код что бы тот просматривал установленые в системе кодеки, а также проверял наличие кодека для АВИшки.
Как я понял FourCC кодека для AVI хранится прямо в нем же по смещению 0xBC.. Это без проблем. Список установленых кодеков я узнаю используя интерфейс IID_ICreateDevEnum компонента CLSID_SystemDeviceEnum,
потом вызываю метод CreateClassEnumerator(CLSID_VideoCompressorCategory, &pEnumCat, 0), а потом в цикле перебираю все
while(pEnumCat->Next(1, &pMoniker, &cFetched) == S_OK)
{
IPropertyBag *pPropBag;
pMoniker->BindToStorage(0, 0, IID_IPropertyBag, (void **)&pPropBag);

VARIANT varName;
varName.vt = VT_BSTR;
hrp = pPropBag->Read(L"FriendlyName", &varName, 0);
//........................................
Но это я получаю имя кодека.. В разделе реестра я могу прочитать только CLISD и FilterData... И тут начинаются вопросы с каким типом нужно считывать FilterData?
Как узнать path dll в которой этот компонент храниться...
И самое важное как узнать FourCC кодека??!!!
Буду благодарен даже за маленький намек..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.