VC2015调用COM组件

简介:

VC++中调用COM组件的方法很多.这里只说其中一种.须将COM库自动生成的*_i.h和*_i.c文件添加到工程中.

    #include "ATLMain_i.h"
    IMyAtlClass * pIStatisticATL = NULL;
	HRESULT hr = CoInitialize(NULL);//初始化COM

    //使用SUCCEEDED宏并检查我们是否能得到一个接口指针
	if (SUCCEEDED(hr))
	{
		hr = CoCreateInstance(CLSID_MyAtlClass,//COM对象的标志符(自己添加的类)
			NULL,
			CLSCTX_INPROC_SERVER,
			IID_IMyAtlClass,//COM接口的标识符(自己添加的接口)
			(void **)&pIStatisticATL);//接口对象指针
		//如果成功,则调用Add方法,否则显示相应的出错信息
		if (SUCCEEDED(hr))
		{
			LONG nReturnValue;
			pIStatisticATL->Sum(1, 2, &nReturnValue);
			TRACE(_T("%d"), nReturnValue);
			pIStatisticATL->Release();
		}
		else
		{
			TRACE (_T("CoCreateInstance Failed." ));
		}
	}
	CoUninitialize();//释放COM

在*_i.h文件中,COM对象类标识符,作为CoCreateInstance时的第1个参数。

EXTERN_C const CLSID CLSID_MyAtlClass;

COM类对象所对应的接口标识符,作为CoCreateInstance第4个参数。

EXTERN_C const IID IID_IMyAtlClass;












本文转自Chinayu201451CTO博客,原文链接:http://blog.51cto.com/9233403/2068551 ,如需转载请自行联系原作者


相关文章
|
编译器 C# 图形学
Unity与 DLL文件 ☀️| 怎样使用VC++生成一个DLL文件并调用!(包括 在VS 中调用 和 在Unity中调用)
📢前言 🎬通过VC 生成DLL文件 🎥在VS中生成DLL文件 🏳️‍🌈第一步:新建一个dll项目 🏳️‍🌈第二步:新建一个`.h头文件`和`.cpp源文件` 🏳️‍🌈第三步:在`.h头文件`和`.cpp源文件`中编写代码 🏳️‍🌈第四步:生成dll和lib文件 🎥在VS中进行调用DLL文件 🚩第一步:先来新建一个项目 🚩第二步:复制firstDLLTest.dll和firstDLLTest.lib文件和上一个项目的头文件firstDLLTest.h 🚩第三步:在新项目里面添加C++代码 🚩第四步:添加头文件firstDLLTest.h和firstDLLTest.
Unity与 DLL文件 ☀️| 怎样使用VC++生成一个DLL文件并调用!(包括 在VS 中调用 和 在Unity中调用)
|
编译器 C语言
QT应用编程: Window系统下QT5创建DLL动态库并完成调用
QT应用编程: Window系统下QT5创建DLL动态库并完成调用
394 0
QT应用编程: Window系统下QT5创建DLL动态库并完成调用
MFC创建动态链接库DLL并调用方法详解
实例一: 1、创建一个动态链接库工程,如login_dll。 2、在原工程头文件或者新建头文件如showdlg.h定义动态链接库的导出函数,代码如下: #include "stdafx.h"#define EXPORT __declspec(dllexport)extern "C"  EXPO...
3646 0