如何设置DCOM?(怎么只有50分)急!!!!

huitor 2000-04-11 10:57:00
我使用VC6的ATL3.0开发了一个可执行组件,客户端与服务器在同一台机器上工作正常,当在2台机器上调用CoCreateInstanceEx失败.调试时发现服务器启动成功,创建接口失败.请教高手.
...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
huitor 2000-04-13
  • 打赏
  • 举报
回复
请问斑竹,如何Cancel该问题?
huitor 2000-04-13
  • 打赏
  • 举报
回复
我已经解决,这可能算是98的一个臭虫.
Marksman 2000-04-12
  • 打赏
  • 举报
回复
先写出客户端创建的源代码吧。
一般创建失败是注册的问题,也可能是安全设置的问题。
前者问题较普遍。
huitor 2000-04-12
  • 打赏
  • 举报
回复
我使用透明方式访问服务器,结果是成功的.步骤如下:
1.在客户端执行Atl20.exe /regserver.注册成功.
2.打开dcomcnfg.exe,设置机器的位置为服务器IP.
3.运行客户端程序,可以看到服务器上的Atl20.exe成功调用.
huitor 2000-04-12
  • 打赏
  • 举报
回复
是否ATL的问题还是客户端代码有问题?
huitor 2000-04-12
  • 打赏
  • 举报
回复
服务器端采用如下步骤生成:
1.新建一个ATL COM AppWizard,Execute.
2.执行New ATL Object,名字为Comp16,其他默认
3.在IComp16新建如下方法:Add, 参数为:[in] long First, [in] long Second, [out] long* pVal
4.在CComp16实现方法Add, 代码如下:
*pVal = First + Second;
5.编译注册.

客户端代码:
{
HRESULT hr;
IComp16* pcom1 = NULL;
long lVal = 100;
hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
if (FAILED(hr))
{
AfxMessageBox("Failed to Initialize!");
return;
};

COSERVERINFO csi = {0, L"192.168.0.4\0", NULL, 0};
MULTI_QI mq[] = {{&IID_IComp16, 0, NOERROR}};
hr = CoCreateInstanceEx(CLSID_Comp16, NULL, CLSCTX_REMOTE_SERVER , &csi, 1, mq);

if (FAILED(hr))
{
AfxMessageBox ("CreateInstanceEx:" + (CString) _ltoa (hr, new char[11], 10));
return;
};
pcom1 = (IComp16*) mq->pItf;
pcom1->Add(10, 20, &lVal);
AfxMessageBox (_ltoa (lVal, new char[11], 10));
pcom1->Release();
CoUninitialize();
}

效果:
1.当在一台机器上调试完全正常,当在两台机器上执行失败,错误代码:-2147221163
2.客户端98,服务器NT,两边均以Administrator帐号登录.
3.调试时发现,客户端执行时,服务器有响应,但CoCreateInstanceEx却失败了.

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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