我写了一个服务,启动服务,然后再同一台机器上运行客户端程序,但是在CoCreateInstance失败了,请问这是为什么?是注册的问题?
还有一个问题,如何生成一个代理dll?代理dll是必需的吗?
希望大虾能解答,分不够再补。
::CoInitialize(NULL);
// Check the return value, hr... HRESULT hr=S_OK;
INNMServer* pNNMSvr=NULL;
hr=::CoCreateInstance(CLSID_CoNNMServer,NULL,CLSCTX_ALL,
IID_INNMServer,(void**)pNNMSvr);
BSTR topo;
if (SUCCEEDED(hr))
{
MessageBox("call ok");
pNNMSvr->Release();
}
::CoUninitialize();
还有一个问题,如何生成一个代理dll?代理dll是必需的吗?
希望大虾能解答,分不够再补。
::CoInitialize(NULL);
// Check the return value, hr... HRESULT hr=S_OK;
INNMServer* pNNMSvr=NULL;
hr=::CoCreateInstance(CLSID_CoNNMServer,NULL,CLSCTX_ALL,
IID_INNMServer,(void**)pNNMSvr);
BSTR topo;
if (SUCCEEDED(hr))
{
MessageBox("call ok");
pNNMSvr->Release();
}
::CoUninitialize();
通过返回值你可以得到稍微详细点的说明
代理dll是用来在其他计算机不直接注册组件而使用组件接口的
用nmake YourCOMps.mk编译
得到的dll在其他计算机上注册
老兄能不能告诉我。
另外,代理dll的makefile是要自己写的,就像com技术内幕介绍的一样,需要自己导出各个接口,atl/vc有相关的工具吗/?
谢谢
->
(void**)(&pNNMSvr)