系统已有一个用COM实现的ImageHelp.dll,现需要用DCOM重新实现,这样只需将dll放在实验室服务器上,客户端访问即可。
服务器、客户端:WindowsXP SP3、VS2005
实现步骤:
一、实现服务器端程序ImageHelp.exe
VS2005创建一个ATL项目---向导选择“可执行文件(EXE)”,其它不改---项目增加一个“ATL简单对象”---“简单对象向导”中“选项”步骤中只将“接口”改为“自定义”,其它不改---在定义的接口中增加相关的方法,具体代码与ImageHelp.dll中一样---实现代码后,生成COMServer和COMServerPS两个项目(会自动在服务器上注册)。
二、配置服务器
(1)“本地安全策略”中“安全选项”中的有关策略;
1、“DCOM:...........访问限制”:增加ANONYMOUS LOGON组的“远程访问”权限;
2、“DCOM:...........启动权限”:增加ANONYMOUS LOGON组的所有权限;
3、“网络访问:本地帐户的共享和安全模式”:设置为 “经典-本地用户以自己的身份验证”;
(2)“组件服务”中“我的电脑”属性;
1、“默认属性”页:(1)选择“在此计算机上启用分布式COM(E)”复选框;(2)“默认身份验证级别”设置为“连接”;(3)“默认模拟级别”设置为“标识”;
2、“默认协议”页:添加“面向连接的TCP/IP”协议;
3、“COM安全”页:(1)“访问权限”组合框里,点击选择“编辑限制”,添加INTERACT