DCOM配置的问题

wwll123 2015-06-12 09:31:06
我只想用dcom实现一个非常简单的功能:服务端是一个银行的功能,可以存钱、取钱、显示余额;客户端:MFC对话框程序,提供存取款的界面。

在客户端调用以下函数
//组件库初始化
hr = CoInitialize(NULL);
if (hr != S_OK)
{
return false;
}

//安全代码初始化
hr = CoInitializeSecurity(
NULL,
-1,
NULL,
NULL,
RPC_C_AUTHN_LEVEL_DEFAULT,
RPC_C_AUTHN_LEVEL_NONE,
NULL,
0,
NULL);
if (hr != S_OK)
{
return false;
}

//创建对象实例,并返回IUnknown指针
COSERVERINFO serverInfo = {0, L"192.168.19.56", NULL, 0};//组件服务器信息,venus-PC为组建服务器的计算机名字
MULTI_QI MultiQi = {&IID_IUnknown, NULL, NOERROR};
hr = CoCreateInstanceEx(CLSID_Account, NULL, CLSCTX_REMOTE_SERVER, &serverInfo, 1, &MultiQi);//CLSCTX_REMOTE_SERVER为远程进程外组件
if (hr != S_OK)
{
char tmp[16] = {'\0'};
sprintf(tmp, "%d", hr);
MessageBox(tmp);
}
pUnknown = (IUnknown *)MultiQi.pItf; //得到IUnknown指针

//通过IUnknown指针去查询接口指针,返回IAccount指针
hr = pUnknown->QueryInterface(IID_IAccount, (void**)&pAccount);

//IUnknown接口释放
pUnknown->Release();

在执行CoCreateInstanceEx时返回E_ACCESSDENIED.

问题1:返回E_ACCESSDENIED是DCOM的配置有问题吧?
问题2:我想去修改DCOM的配置,但是组件服务里面,右键“DCOM配置”没有“属性”选项。
Remote Procedure Call (RPC)
COM+ Event System
DCOM Server Process Launcher
Distributed Transaction Coordinator
这四个服务是开启的,
c:\******>cd %systemroot%\system32
c:\WINDOWS\system32>msdtc -uninstall
c:\WINDOWS\system32>msdtc -install
这操作我也执行了无数次,但“属性”选项一直不出现

我的系统是 win7 64bit,进入组件服务用的是“mmc comexp.msc /32”命令。“dcomcnfg”也试过,是一样的结果
工具是vs2008

请大牛们帮帮忙。我以前没有接触过DCOM相关的东西。

万分感谢。

...全文
307 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2015-06-15
  • 打赏
  • 举报
回复
dcom配置里面去配置运行权限
wwll123 2015-06-15
  • 打赏
  • 举报
回复
没有人回答。。。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧