1 hr = CoCreateInstance(CLSID_MulThd,
NULL ,
CLSCTX_ALL ,
IID_IMulThd ,
(void **)&pIMulThd
);
if(FAILED(hr))
{
cout<<"create com failed"<<endl;
CoUninitialize();
return 0;
}
居然出错返回 为什么? 不能创建接口有哪些可能? 组件是一个进程内dll .
2 为什么CoInitializeEx()编译提示没有定义? 有包含ole32.dll的。
NULL ,
CLSCTX_ALL ,
IID_IMulThd ,
(void **)&pIMulThd
);
if(FAILED(hr))
{
cout<<"create com failed"<<endl;
CoUninitialize();
return 0;
}
居然出错返回 为什么? 不能创建接口有哪些可能? 组件是一个进程内dll .
2 为什么CoInitializeEx()编译提示没有定义? 有包含ole32.dll的。
Library: Use ole32.lib.所以你需要
#include "objbase.h"
#pragma comment(lib, "ole32.lib") //lib文件
#include "objbase.h"
#pragma comment(lib, "ole32.lib") //lib文件
这里还是出错:hr = CoInitializeEx(NULL,COINIT_MULTITHREADED); F:\Workspace\Workspace\ComMulThd\TestCom\TestCom.cpp(40) : error C2065: 'CoInitializeEx' : undeclared identifier
F:\Workspace\Workspace\ComMulThd\TestCom\TestCom.cpp(40) : error C2065: 'COINIT_MULTITHREADED' : undeclared identifier
Error executing cl.exe.
#pragma comment(lib, "ole32.lib") //lib文件
加到 TestCom.cpp文件的开头处呢