如何使用c#配置DCOM访问、启动和设置运行权限

本文关键字:启动 设置 运行 权限 访问 何使用 配置 DCOM | 更新日期: 2023-09-27 18:05:22

我正在尝试配置访问,启动权限以及设置运行作为我们的自定义DCOM应用程序之一。

我已经浏览了这些链接编程的dcomconfig功能

和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);

总是给我一个空值,然而,当我查看我的机器上的注册表项时,Ole注册表项的"DefaultAccessPermission"条目确实有一个二进制值,那么为什么我总是收到一个空值,不知道。

其次,我尝试了从上面的第二个链接下载的c++库,并试图用DLLImport属性(用于自动启动DCOM对象的权限)对其中一个方法进行COM调用,但一些编组问题不允许我传递与c++类型对应的c#类型,并抛出一个异常,说PInvoke不能返回变量。

我在谷歌上搜索了几个小时后没有找到任何具体的东西,任何关于这个帐户的帮助都将非常感激。

从未使用过c++,对这门语言的了解很差。

更新: null值问题已解决,但我不知道如何设置访问权限并设置运行为。我在c++代码中见过设置访问权限需要域和用户名但c#是什么,不知道....

如何使用c#配置DCOM访问、启动和设置运行权限

我使用微软的tlimp .exe工具,从DComPerm.dll (c++汇编)中创建了一个互操作的.dll程序集,以便在c#代码中引用,并通过运行时可调用包装器,我调用COM对象上的各种方法来编写我的c#程序,因此不需要dlimport或MarshalAs属性,因为RCW将处理所有的编组和解组问题。