Есть ли какой-нибудь метод доступа к графу удаленного фильтра без регистрации proppage.dll в Windows Vista +? - PullRequest
2 голосов
/ 14 июля 2011

В настоящее время я пытаюсь разработать небольшое приложение / dll, которое будет считывать график фильтра удаленного DirectShow и получать из него информацию для отображения в плагине или скрипте в стиле "сейчас играет". После нескольких дней чтения и последующего тестирования я понял, что после получения адреса графа фильтра из ROT мне не удалось преобразовать его из указателя интерфейса IUnknown в IFilterGraph, пока я не зарегистрировал proppage.dll, поставляемый с Windows SDK.

Итак, я спрашиваю: нет ли другого способа получить какую-либо информацию из графа удаленного фильтра без регистрации proppage.dll?

1 Ответ

3 голосов
/ 14 июля 2011

Вы не можете вызывать интерфейс COM из другого адресного пространства, если вы не перенаправили указатели интерфейса и параметры / возвращаемые значения в и из другого процесса. Для COM вам необходимо зарегистрировать маршаллинг для каждого интерфейса, который вы хотите использовать для перекрестного процесса. Стандартная реализация для этого находится в proppage.dll.

Я не думаю, что есть простой способ получить доступ к интерфейсу без предоставления маршалинга. Если вы не хотите использовать proppage.dll, вы можете создать код маршаллинга из файлов IDL, поставляемых с SDK, и скомпилировать его в свое собственное приложение.

G

...