一、前言
1、本回讲解的是在
VS 2008 下的使用ATL. 并使用Win 32 ConsoleApplication进行测试以及C#项目进行测试(调用COM).
1、本回讲解的是在
3、ATL的介绍
(4)类集合的自动处理,目标创建,参考计算和查询界面。标准接口的实现。
二、1、创建ATL Project
步骤1:建立一个解决方案。 步骤2:在 该解决方案中,新建一个 vc++ 的 ATL 项目。见下图
方法名为Sum,参数如下图,有三个参数
接口方法的实现, 这个太简单了
STDMETHODIMP CFunTest::Sum(LONG num1, LONG num2,LONG* pVal)
{
//TODO: Add your implementation code here
*pVal= num1 + num2;
return
S_OK;
}
|
三、新建Win 32 Application进行测试
#include"E:\..\ATLProjectTest\ATLProjectTest_i.h"
#include"E:\..\ATLProjectTest\ATLProjectTest_i.c"
int
main(
void
)
{
//声明HRESULT和iFun接口指针
IFunTest* iFun = NULL;
//初始化COM
HRESULThr = CoInitialize(NULL);
//使用SUCCEEDED宏并检查我们是否能得到一个接口指针
if
(SUCCEEDED(hr))
{
hr=CoCreateInstance(CLSID_FunTest,NULL,CLSCTX_INPROC_SERVER,IID_IFunTest,(
void
**)&iFun);
}
//如果成功,则调用Sum方法,否则显示相应的出错信息
if
(SUCCEEDED(hr))
{
long
ReturnValue;
iFun->Sum(30,32,&ReturnValue);
cout<<
"The return value for 30 + 32 is :"
<<ReturnValue << endl;
iFun->Release();
}
else
{
cout<<
"CoCreateInstance Failed."
<< endl;
}
//释放COM
CoUninitialize();
return
0;
}
|
显示:
四、在C# 项目中进行测试步骤
1、添加引用(选择Com),找到对应的DLL
2、