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,步骤大同小异,可适当灵活处理)。
组件生成后,可编写简单客户端进行测试:
#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