COM+
文章平均质量分 87
iteye_10289
这个作者很懒,什么都没留下…
展开
-
vs2008制作dll笔记
本文参考http://leongod.iteye.com/blog/1104575 使用vs2008制作dll文件,生成动态链接库,采用显示加载,以下记录实现过程: 1.制作dll文件 vs2008中,File > New Project > Other Language > Win32 > Win32 Console Application....原创 2013-12-02 14:00:52 · 92 阅读 · 0 评论 -
VC编写和调用DLL的简单例子
用Visual Sudio 6.0新建一个工程,工程的类型选择Win32 Dynamic-Link Library.工程名任意 其他所有选项取默认 新建一个cpp文件,代码如下: int add(int a ,int b) { return a+b; } 如果工程类型是Win32 Console Application,那...原创 2013-12-02 15:13:11 · 387 阅读 · 0 评论 -
COM组件注册真相
一个COM组件在使用前必须首先注册。所谓“注册”,也就是向系统注册表的相应位置写入一些数据。这些数据可以完成guid与Dll的绝对路径的一一对应,也就是说可以帮助程序通过guid找到Dll的位置。 GUID概念: GUID(globally unique identifier)是一个128位的数。用于保证每一个接口和组件在时间和空间上都是全球唯一的一个标识符。...原创 2013-12-02 19:09:21 · 681 阅读 · 0 评论 -
CoCreateInstance具体内部实现
CoCreateInstance(....) { //....... IClassFactory *pClassFactory=NULL; CoGetClassObject(CLSID_Object, CLSCTX_INPROC_SERVER, NULL, IID_IClassFactory, (void **)&pClassF...原创 2013-12-12 10:54:08 · 280 阅读 · 0 评论 -
走进COM组件系列(二)
建立COM组件服务器 其他内容请浏览COM+分类 首先看下我们的目录结构:生成DLL的Project 这一节需要我们自己定义接口(发布接口),利用MIDL 接口定义语言 COM服务器的三个关键要求: 接口:客户机通过接口与服务器进行通信; 组件类:提供所定义接口的实现方法; 类型库:编译的IDL文件向支持的COM环境传送接口信息。 首先在...2013-12-12 13:38:09 · 185 阅读 · 0 评论 -
the value of esp was not properly saved across a function call异常
解决方式有三种: 1. 若模块有更新,首先检查该更新模块的dll是否在调用者的DEBUG目录下,若不在,复制dll文件到此DEBUG目录下即可。 2. 在函数调用前加入 WINAPI 3. 调用DLL函数,出现错误 Run-Time Check Failure #0 - The value of ESP was not properly saved across a f...2013-12-17 20:04:23 · 159 阅读 · 0 评论 -
走进COM组件系列(三)
前面介绍了,走进COM组件系列(二),在此基础上,我们构建参数在模块之间的传递。 其他内容请浏览COM+分类 首先修改idl文件,在接口方法中加入参数 interface IY : IUnknown { HRESULT Fy([in] int x, [out] int * y); }; 对于标记为in的参数,MIDL将知道仅仅需要将此参数值从客户传递给组件,不需要任何...2013-12-17 21:04:34 · 110 阅读 · 0 评论 -
走进COM组件系列(一)
说明: COM组件的接口,都需实现IUnknown接口,实现其中的AddRef,Release,QueryInterface等方法。 每一个接口都拥有自己的唯一标识符,使得其通过这个标识符能够唯一的找到所对应的类。 这部分代码相对来说比较简单,没有跨模块的dll访问,但是由于本人操作不慎,代码被修改,故不再贴出。 依据的原理跟 (二),(三)一样,故 请在走进COM组件系...原创 2013-12-17 22:06:22 · 284 阅读 · 0 评论