Как найти IMoniker, используемый для создания исходного фильтра?
В настоящее время я пишу приложение на основе DirectShow, которое должно помочь пользователям настраивать свои карты видеозахвата, поскольку GraphEdit кажется слишком сложным для понимания большинством. Идея состоит в том, что это приложение экспортирует сгенерированный график в файл.GRF, который будет использоваться в другом приложении.
Пользователи могут выбрать, какое устройство ( IMoniker) следует использовать для создания фильтра источника, и могут изменить некоторые настройки, касающиеся видео / аудио.
Помимо экспорта файлов.GRF, мое приложение также должно иметь функцию импорта таких файлов. Мой вопрос: как я могу найти, какое имя / устройство использовалось для создания исходного фильтра в импортированном графике?
Я попытался создать список исходных фильтров для всех подключенных устройств и сравнить их с исходным фильтром в импортированном графике, но это не сработало.
1 ответ
Вы не можете отличить моникера от созданного экземпляра. Чтобы отличить моникеры и найти то, что вам нужно, используйте их IMoniker::GetDisplayName
Строка как уникальный постоянный идентификатор.