Qt中使用com组件的问题
雲天之巔 2014-10-17 10:53:52
我想用Qt实现OPC协议,需要用到COM组件的功能,我在程序中调用CoCreateInstance的接口来和OPC服务器建立建立,正常没有问题。
hRet = CoCreateInstance(clsid,NULL,CLSCTX_LOCAL_SERVER,IID_IUnknown,(void**)&pUnknown);
可是CoCreateInstance只能用来连接本地的OPC服务器,查阅网上的资料,才知道想要连接远程的需要用CoCreateInstanceEx这个接口,但是我在Qt里面调用这个接口的时候:
HRESULT hr = CoCreateInstanceEx (
clsid, // CLSID
NULL, // No aggregation
CLSCTX_SERVER, // connect to local, inproc and remote servers
&tCoServerInfo, // remote machine name
sizeof (m_arrMultiQI) / sizeof (MULTI_QI), // number of IIDS to query
&m_arrMultiQI);
返回值是-2147024809 getlasterro获取到的结果是14007 。
更奇怪的是 我调用初始化 的函数CoInitializeEx都失败。
HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
不知道在Qt中要怎么初始化COM组件,求大神指导。。。。 急,急,急。。。