为什么我调用COM会出错的?5.5..5..
以下是一个WIN32 CONSOLE程序里的CPP文件内容,我用来测试调用COM的,但出现错误(错误贴在后面),先来看内容:
TEST_ATL.CPP
#include "c:\test\BENNY_ATL_2\BENNY_ATL_2.h"
#include <iostream.h>
const CLSID CLSID_super = {0xA273E560,0xBB98,0x45AF,{0x8F,0x5A,0x2D,0x8A,0xAC,0x0A,0x06,0x0D}};
const IID IID_Isuper = {0x517BFE54,0xD069,0x42BB,{0x82,0xCA,0xEC,0x33,0xCD,0x64,0x0F,0x1C}};
void main(void){
HRESULT hr;
Isuper *Isuper=NULL;
hr=CoInitialize(0);
if(SECCEEDED(hr)) //<--line 13
{
hr=CoCreateInstance(CLSID_super,NULL,CLSCTX_INPROC_SERVER,IID_Isuper,(void**) &Isuper);
}
if(SECCEEDED(hr))
{
long ReturnVal;
Isuper->AddNumbers(5,7,&ReturnVal); //<-line 21
cout<< ReturnVal <<endl;
Isuper->Release();
}
else
{
cout<< "COM failed" <<endl;
}
CoUninitialize();
}
编译后出现以下错误:
--------------------Configuration: BENNY_ATL_2_WIN32_APP_TEST - Win32 Debug--------------------
Compiling...
TEST_ATL.CPP
C:\TEST\BENNY_ATL_2_WIN32_APP_TEST\TEST_ATL.CPP(13) : error C2065: 'SECCEEDED' : undeclared identifier
C:\TEST\BENNY_ATL_2_WIN32_APP_TEST\TEST_ATL.CPP(21) : error C2039: 'AddNumbers' : is not a member of 'Isuper'
c:\test\benny_atl_2\benny_atl_2.h(77) : see declaration of 'Isuper'
Error executing cl.exe.
TEST_ATL.OBJ - 2 error(s), 0 warning(s)
但我测试的该个COM是正常的,只是两个数的正常相加而已,我已经在VB里调试通过了,究竟是什么错误呢?