GUID и CLSID в разных форматах?

Я работаю над фильтром MP4 в DirectShow. В настоящее время я пытаюсь создать объект IBaseFilter, но одним из требований является CLSID для CoCreateInstance.

Я не понимаю, откуда взялся этот идентификатор. Могу ли я получить его из GraphEdit> Вставить фильтр? Если это так, он дает мне в формате {00000000-0000-0000-0000-000000000000} Однако большинство примеров, которые я видел, в формате

static const GUID CLSID_MPEG4Demux = { 0x025BE2E4, 0x1787, 0x4DA4, 0xA5, 0x85, 0xC5, 0xB2, 0xB9, 0xEE, 0xB5, 0x7C };

Нужен ли конвертер для этого?

0

Решение

CLSID является основным COM-идентификатором для зарегистрированного класса. Все фильтры DirectShow, которые зарегистрированы как общедоступные, имеют свои CLSID, жестко закодированные разработчиками. Если ваша работа с фильтром MP4 предполагает, что вы являетесь разработчиком фильтра MP4, то вам нужно ввести свой собственный CLSID (генерировать с помощью «Создать GUID» (guidgen.exe) инструмент, по API так далее). Если вы хотите посмотреть CLSID существующего зарегистрированного фильтра, вы можете узнать его с помощью GraphEdit или, вернее, GraphStudioNext просмотр списка зарегистрированных фильтров:

введите описание изображения здесь

4

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

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

По вопросам рекламы [email protected]