Как настроить доступ DCOM, запустить и настроить запуск в качестве разрешения с помощью C #

Я пытаюсь настроить доступ, запускать разрешения и задавать запуск для одного из наших пользовательских приложений DCOM.

Я уже прошел эти ссылки
Функциональность dcomcnfg программно

а также http://www.myitforum.com/articles/11/view.asp?id=9323 (скачанная библиотека c ++ DCOMPerm)

Я попробовал код из первой ссылки выше, как написано «Longofest» но следующая строка кода

var value = Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Ole", "DefaultAccessPermission", null);

всегда возвращает мне нулевое значение, однако, когда я просматривал записи реестра на моем компьютере, запись «DefaultAccessPermission» для раздела реестра Ole имеет двоичное значение, поэтому я всегда получаю нулевое значение, не знаю.

Во-вторых, я попробовал библиотеку c ++, загруженную по второй ссылке выше, и попытался сделать COM-вызов одного из методов с атрибуцией DLLImport (для автоматизации разрешений на запуск для объекта DCOM), но некоторые проблемы с маршалингом не позволяют мне пройти в C # типы, соответствующие типам C ++ и выдающие исключение, которое говорит, что PInvoke не может возвращать варианты.

Я не мог найти ничего конкретного после поиска в Google в течение нескольких часов, любая помощь на этот счет будет более чем признательна.

Никогда не работал с C ++, плохо знал этот язык.

Обновить: Проблема с нулевым значением решена, но я не знаю, как установить права доступа и установить запуск от имени. Я видел в коде c ++, что для установки прав доступа коду нужны домен и имя пользователя, но что это за эквивалент C #, не знаю …

0

Решение

Я использовал инструмент tblimp.exe от Microsoft и создал сборку взаимодействия .dll из DComPerm.dll (сборка c ++) для ссылки в коде C #, и с помощью Run Time Callable Wrapper я вызываю различные методы на COM-объектах, чтобы написать свой Программа на C #, поэтому не нужно указывать атрибуты DLLImport или MarshalAs, поскольку RCW позаботится обо всех проблемах, связанных с сортировкой и сортировкой.

0

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


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