社区
ATL
帖子详情
远程com服务器无法启动
cbc
2001-08-03 11:30:31
本机上com服务器正常启动,但当com服务器放在远程机器上,客户端却无法启动它
,并且已在dcomcnfg中设置而且启动RPC服务,一切办法都想过,但还是不行,请各位大侠帮忙,谢谢!
...全文
166
9
打赏
收藏
远程com服务器无法启动
本机上com服务器正常启动,但当com服务器放在远程机器上,客户端却无法启动它 ,并且已在dcomcnfg中设置而且启动RPC服务,一切办法都想过,但还是不行,请各位大侠帮忙,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cbc
2001-08-10
打赏
举报
回复
给分
wolf_shi
2001-08-05
打赏
举报
回复
问题已经解决
cbc
2001-08-04
打赏
举报
回复
wyzegg(蛋)
1. 代理问题
你说的“6698c102-8e22-4e93-a9cd-ba4421901cb8”找不到呀!
Corny
2001-08-04
打赏
举报
回复
从你说的问题看,你只要将COM加入MTS中即可。就是在MTS环境中创建一个包,并把组件加进去就可以了,因为代理是通过MTS环境来创建COM实例的。(MTS在Option pack盘上)
wyzegg
2001-08-04
打赏
举报
回复
可以到文档中心看我的例子程序代码
http://www.csdn.net/filebbs/read_topic.asp?id=386
wyzegg
2001-08-04
打赏
举报
回复
自己用uuidgen.exe生成一个自己写进注册表
也可以在组件里写,本来组件的注册就是导入这些内容,在函数DllRegisterServer里的
wyzegg
2001-08-03
打赏
举报
回复
上面的说明应该可以解决问题
wyzegg
2001-08-03
打赏
举报
回复
1. 代理问题
进程内组件为dll,当需要远程调用时需要在本地有一个代理程序,缺省的代理
程序是dllhost.exe。需要在
HHEY_CLASSES_ROOT\APPID\6698c102-8e22-4e93-a9cd-ba4421901cb8
下添加字符串值dllsurrogate值为代理程序所处的位置,
如果值为空表示使用缺省代理。
2. 调度问题
微软只实现啦IDsiaptch接口的调度,如果我们希望在远程调用客户程序中使用自定义接口
就需要实现接口的调度程序,幸运的是,MIDL已经为我们产生了标准调度代码,我们只需要使用这些代码
生成一个DLL的调度程序。这些代码包括xxx_i.c,xxx.p.c,xxx.h.这些代码可以自动的导出
DllGetClassObject
DllCanUnloadNow
DllRegisterServer
DllUnregisterServer
函数
这样我们可以建立一个WIN32 DLL的工程添加一个DEF文件编译后,在服务器和客户端注册。
就是一个一个标准的调度程序,在该DLL的支持下可以实现自定义接口的远程调度。
注册表项为
[HKEY_CLASSES_ROOT\CLSID\{C4A7C2E7-5EAC-4367-8F0D-59ECDB66CE3B}]
@="PSFactoryBuffer"
[HKEY_CLASSES_ROOT\CLSID\{C4A7C2E7-5EAC-4367-8F0D-59ECDB66CE3B}\InProcServer32]
@="调度程序路径"
"ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\Interface\{C4A7C2E7-5EAC-4367-8F0D-59ECDB66CE3B}]
@="ISObject"
[HKEY_CLASSES_ROOT\Interface\{C4A7C2E7-5EAC-4367-8F0D-59ECDB66CE3B}\NumMethods]
@="方法数目"
[HKEY_CLASSES_ROOT\Interface\{C4A7C2E7-5EAC-4367-8F0D-59ECDB66CE3B}\ProxyStubClsid32]
@={C4A7C2E7-5EAC-4367-8F0D-59ECDB66CE3B}
以上注册表项都是有调度程序自动注册的
3.客户端的问题
远程服务器的名字 可在注册表中用remoteservername指定
也可以在程序中指定,
下面例子就是在程序中指定的
4.安全性问题,
包括公开的安全性和编程的安全性
如果允许匿名用户访问则指定guest或network或internet内置用户的访问
当然也可以指定用户访问。
5.remark
a.如果是DLL的组件,要远程调用需要代理程序的支持,如果有代理程序并且组件支持IDispatch接口,
则可以使用IDispatch远程访问。
b,如果是DLL的组件,要远程调用,使用自定义接口。则不仅需要代理程序的支持也需要proxy/stub调度
程序的支持
c.exe的组件不需要代理程序,但是如果使用自定义接口仍然需要调度DLL的支持。
两者都可以使用公开的安全性和编程的安全性
6.mts
mts是COM运行的平台,已经上述功能,并且可以导出客户端的安装。有很方便的管理
yangmajituipo
2001-08-03
打赏
举报
回复
高手请再到
http://www.csdn.net/expert/topic/217/217738.shtm
一看,分值超700
安装和配置 Windows Server 2022
远程
桌面服务
安装和配置 Windows Server ...网关角色的高可用性 安装和配置连接代理角色,实现
远程
桌面的配置,会话管理,并且实现连接代理
服务器
角色的高可用性 安装和配置授权
服务器
角色,实现
远程
桌面运行环境的授权管理和配置
异常解决之——
无法
在Web
服务器
上
启动
调试。
远程
服务器
返回错误:(405)
最近调试webapi出现错误:异常解决之——
无法
在Web
服务器
上
启动
调试。
远程
服务器
返回错误:(405) 英文异常:Unable to start debugging on the web server. The remote server returned an error: (405) 搜索了很...
【SSH】在VScode
远程
开发 使用SSH
远程
连接
服务器
远程
连接
服务器
工具有很多,比如XShell、putty等,可以通过ssh来
远程
连接
服务器
,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到
服务器
运行、
服务器
上的图片也
无法
直接查看…而vscode可以很好...
连接
远程
Redis
服务器
超时
连接
远程
Redis
服务器
超时 问题 在本地java应用中,连接
服务器
的Redis失败,提示连接超时。
远程
服务器
上可以登陆,也已经开放相应的端口,但提示连接超时。 解决 1.找到Redis服务
启动
时的配置文件,并打开 2.找到...
远程
服务器
重启后,
无法
远程
桌面
不过,最近笔者由于工作原因
远程
启动
了一下
服务器
,原本认为这样的操作很简单,可谁想到这次重新
启动
后笔者再也
无法
通过
远程
桌面功能来访问 Windows 2003
服务器
了。那么为什么通过
远程
桌面功能,笔...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章