1993年Microsoft公布了COM技术,随后推出了COM SDK作为Windows SDK的一个组成部分内置在操作系统中,供开发者使用。为简化COM编程,提高开发效率,又在1995年推出了ATL框架,并于1998年将ATL集成到Visual C++开发环境中,成为Microsoft标准开发工具中的一个重要成员。
前面两篇博客,正是利用COM SDK中的API,直接写的COM组件,虽然很灵活,但是如果组件变多了,就要写很多重复的代码,极易出错。因此本篇博客讲解如何使用visual studio 2015提供的ATL项目模板,快速完成COM组件开发。(使用不同版本的vs,步骤大同小异,可适当灵活处理)。











组件生成后,可编写简单客户端进行测试:
cpp
#include <iostream>
#include "ATLDemo01_i.h"
HRESULT com_dll_reference()
{
//CoInitialize(NULL);
IXXTerm* pComTest = NULL;
HRESULT hResult = 0;
if (hResult == ERROR_SUCCESS)
{
hResult = CoCreateInstance(__uuidof(XXTerm), NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&pComTest);
}
if (S_OK == hResult)
{
IXXTerm* pInner1 = NULL;
long lVal = 0;
hResult = pComTest->QueryInterface(__uuidof(IXXTerm), (void**)&pInner1);
system("pause");
pInner1->GetStatus(&lVal);
hResult = pInner1->Release();
hResult = pComTest->Release();
}
//CoUninitialize();
return hResult;
}
int main()
{
CoInitialize(NULL);
com_dll_reference();
CoUninitialize();
return 0;
}
项目资源详情请见https://download.csdn.net/download/yuanshenqiang/93691134