服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++中COM组件初始化方法实例分析

C++中COM组件初始化方法实例分析

2021-02-26 14:55惟愿莲心不染尘 C/C++

这篇文章主要介绍了C++中COM组件初始化方法,涉及C++中COM组件的使用技巧,需要的朋友可以参考下

本文实例讲述了C++COM组件初始化方法。分享给大家供大家参考。具体如下:

这里使用BCB

在使用TADOConnect等组件时需要进行初始化

调用接口 :

?
1
2
CoInitialize(NULL);//初始化COM套件
CoUninitialize();//释放COM套件

在DLL入口中调用:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static bool isCoInitialize = false; //是否是自己进行的初始化
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
  if(reason==DLL_PROCESS_ATTACH)
  {
    if(ConInitialize(NULL) == S_OK) isCoInitialize = true;
  }
  if(reason==DLL_PROCESS_DETACH)
  {
    if(isCoInitialize) CoUninitialize();
    //是自己初始化的才释放,否则由其他初始化的地方自行释放,
    //防止错误的释放导致别的调用者失败
  }
  return 1;
}

希望本文所述对大家的C++程序设计有所帮助。

延伸 · 阅读

精彩推荐