关于CoInitializeEx()函数一问?

hamiltonlzk 2002-05-27 11:58:07
我在编写com客户程序时,像调用CoInitializeEx(),但却得到编译错误,代码如下:

#include "stdafx.h"
#include "ActiveDesktop.h"
#include <comutil.h>
#include <windows.h>
#include <objbase.h>


#define _WIN32_DCOM
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// The one and only application object

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;

// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
if(FAILED(CoInitializeEx(NULL,(COINIT_MULTITHREADED))
{
cerr << _T("Fatal Error: OLE initialization failed") << endl;
return 1;
}

编译说找不到CoInitializeEx()函数,可我引用了那么多头文件了,请大虾指教!
...全文
178 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hamiltonlzk 2002-05-27
  • 打赏
  • 举报
回复
本问题结了arxing(阿行) 12分 yzhz(千里寻她百度) 8分 谢谢各位
yzhz 2002-05-27
  • 打赏
  • 举报
回复
[project][settings..][c/c++]
预处理定义中加入
_WIN32_DCOM
arxing 2002-05-27
  • 打赏
  • 举报
回复
我搞错了,你已经定义了_WIN32_DCOM。
你的问题如下,_WIN32_DCOM定义在#include <objbase.h>之后,所以在objbase.h里面是找不到_WIN32_DCOM定义的。
最好你把编译开关放在stdafx.h里面,因为我们习惯把stdafx.h防在包含头文件的第一位。
arxing 2002-05-27
  • 打赏
  • 举报
回复
CoInitializeEx声明如下(objbase.h)
#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM
WINOLEAPI CoInitializeEx(LPVOID pvReserved, DWORD dwCoInit);
#endif // DCOM
arxing 2002-05-27
  • 打赏
  • 举报
回复
加上#define _WIN32_WINNT 0x0400。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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