描述:
::CoInitializeEx(
NULL,
COINIT_APARTMENTTHREADED
);
IaaPtr pPtr1(
_uuidof(aa)
);
pPtr1->add(cc);
我用上面这几句调用本机的COM,成功了,
但是我现在想把这个COM组件放到另一台机子上,再调用。但是我发现CoInitializeEx函数中没
有可指定计算机名的参数呀?那怎么办?
以前我是用如下格式调用另一台机子的DCOM组件的:
COSERVERINFO ServerInfo={0,L"hzh",NULL,0}; //hzh为远程计算机名
MULTI_QI MultiQi={&IID_IUnknown,NULL,NOERROR};
hr=CoCreateInstanceEx(CLSID_pp2,NULL,CLSCTX_REMOTE_SERVER,&ServerInfo,1,&MultiQi);
解决方案1:
看看《com技术内幕》,讲的比较浅显易懂,沉着气看
解决方案2: 这个好像和智能指针没有关系吧
智能指针只是为了方便你释放内存,并没有什么实际的功能,功能是由接口定义的
所以如何取道远程DCOM组件就是如何取道相应COM的接口,所以CoCreateInstanceEx仍然适用阿
CoInitializeEx是初始化COM……不是创建COM对象……