ATL 的对象向导类型

使用VC++ ATL实现iStylePDF的COM插件 本文介绍了一种使用VC++ ATL(Active Template Library),利用ISPExtensibility接口,为 iStylePDF 加入功能简单的COM插件(addin),加入工具栏按钮等可视部件,并为其加入响应事件的方法。我们采用VS2010为iStylePDF平台开发插件,当然也可以使用其他VS工具。开发插件的第一步需要安装iStylePDF的客户端,客户端程序中包括了Ac 阅读详情

ATL 的对象向导类型

对象类型支持的接口备注
简单对象没有 
Add-in 对象IDSAddIn维护指向Developer Studio IApplication接口的指针
Internet 浏览器对象IObjectWithSite维护指向场所(site)的指针
ActiveX 服务器组件None支持OnStartPage/OnEndPage,维护指向由 ASP 提供的接口的指针
微软事务处理服务器对象IObjectControl (可选)维护指向事务处理服务器对象上下文的指针
组件注册对象IComponentRegistrar支持在某个模块中注册所有 CLSIDs
Internet 浏览器控件
 
IViewObject
IViewObject2
IViewObjectEx
IOleWindow
IOleInPlaceObject
IOleInPlaceObjectWindowless
IOleInPlaceActiveObject
IOleControl
IOleObject
IPersistStreamInit
维护指向场所的IOleInPlaceSiteWindowless,
IOleClientSite, 以及IAdviseSink 接口的指针
完全控件所有Internet 浏览器控件接口加上
IQuickActivate
IPersistStorage
ISpecifyPropertyPages
IDataObject
IProvideClassInfo
IProvideClassInfo2
维护指向场所的 IOleInPlaceSiteWindowless,
IOleClientSite, 以及 IAdviseSink 接口的指针
属性页IPropertyPage 
ATL 创建COM对象 之前写了一篇原始dll的创建过程,以及直接使用LoadLibrary加载动态库。 但ATL所做的一个很重要的功能就是引入COM对象这个概念。 首先, ATL active template library为活动模板库,ATL为asp代码中提供COM对象应用。而一般使用活动模版库来创建COM组件。简单来说ATL一般作为方便快捷的COM开发工具使用。而ATL中使用的基本技术为 COM技术,C++模 阅读详情

相关推荐

_ATL_OBJMAP_ENTRY详解(AC3)

  AC3,由VS2005的ATL向导生成的默认COM对象代码分析ATL如何实现COM,第三部分。  当此DLL映射到进程的地址空间中,系统实际调用的是_DllMainCRTStartUp而不是DllMain。_DllMainCRTStartUp函数初始化C运行时库并在其收到DLL_PROCESS_ATTACH通知时创建所有全局的或静态的C++对象。在C运行时库初始化完成之后,_DllMain

win2ks 4291

《深度探索c++对象模型》 学习笔记 - 1 关于对象

 1.         C++在布局和存取时间上的主要的额外负担是由virtual引起的,包括:1)virtual function机制,用以实现一个有效率的“执行期绑定”;2)virtual base class,实现“多次出现在继承体系中的base class,有一个单一而被共享的实体”;3)多重继承下,发生在“一个派生类和其第二个或者后继之基类的转换”之间。2.         有两

Hisense的专栏 1844

ATL组件开发入门与实践:从基础到高级

组件对象模型(COM)是Microsoft定义的一种软件组件架构,允许不同语言编写的软件组件通过二进制接口进行交互。作为COM的简化开发工具集,活动模板库(ATL)提供了一套轻量级模板,用于快速实现COM组件。ATL不仅仅是对COM接口的封装,它还提供了一种简化的方式来处理COM组件的诸多复杂性,例如引用计数和接口映射。ATL最初被设计为一个辅助工具,帮助开发者以一种更为高效和便捷的方式来创建遵循COM规范的组件。

weixin_29443363的博客 1216

error using typedef-name ‘xxx‘ after ‘struct‘

如果在定义结构体的时候使用了typedef,那么在声明结构体变量的时候,不需要再使用struct了,如果加上了struct,会报以上错误

fantasyYXQ的博客 4708

FPGA领域四大顶级会议全景解读:从架构到应用的技术风向标

本文全景解读FPGA领域四大顶级会议(FPGA、FCCM、FPL、FPT),剖析其各自定位与技术风向。FPGA会议聚焦架构与工具创新,FCCM专攻硬件加速与定制计算,FPL覆盖从理论到应用的广泛领域,FPT则重点关注亚太市场与前沿应用。跟踪这些会议是把握FPGA技术演进、寻找创新灵感和应用方案的高效途径。

weixin_29274969的博客 335

SCCM实战指南:从零搭建企业级Windows自动化部署平台

本文提供了一份详细的SCCM实战指南,手把手教你从零搭建企业级Windows自动化部署平台。内容涵盖环境规划、AD架构扩展、SQL Server配置、SCCM主站点安装,以及最终实现操作系统镜像的自动化部署,旨在帮助IT管理员彻底告别手动装机,实现高效、规范的Windows设备批量管理。

weixin_29251337的博客 638

nurbs++3.0.11库在vc6中编译的一些问题

nurbs++3.0.11下载网址:http://sourceforge.net/projects/libnurbs/ 采用模板写的nurbs开源代码,网上有很多关于该代码在vc6下面编译通不过的问题,都没有答案(甚是不解,这么多人研究就没有人肯共享一下自己的编译心得,不符合GPL的精神啊!!:()。最近在高手的帮助下终于编译成功了,下面是我遇到的一些主要错误及其解决方法(抛块小砖头,希望有玉

halps的专栏 2611

MATLAB打开.m文件乱码解决办法

Matlab打开.m文件出现中文乱码问题,是因为Matlab存在两种编码格式:GBK和UTF-8,而不同版本的Matlab编码格式可能不统一,因此在不同版本的Matlab打开文件,由于编码格式的改变,会导致注释乱码。 1.查看你的Matlab的文件编码方式,在Matlab的命令行窗口输入feature('locale') ,如下图,可以看到默认编码为GBK,那问题就变成了将Matlab的文件编码方式GBK修改成UTF-8; 2.找到你的Matlab安装目录bin文件夹下的lcdata_utf.

zhugby的博客 4万+

处理vs2005警告错误

对das 2.0项目的所有工程全面检查编译警告错误,处理记录汇集成本文. 此前的项目没有有意识地对警告进行处理,因此编译时经常报出大量的警告. 除了不清爽的感觉外,无视警告可能漏掉了对改进程序有价值的线索。 本文列举了所遇到的几乎全部的警告. 对这些警告的处理方式可以应用到其它项目,也包括das从中继承过来的. C4018 warning C4018: ' 统一变量类型声

wherwh的专栏 4337

复信号的调制与解调(基带)

Digital modulation methods can be considered as digital-to-analog conversion and the corresponding demodulation or detection as analog-to-digital conversion. 数字调制可以看成是数字到模拟的变换,同样,数字解调也可以看作是模拟向数字的转换。

JonTargaryen的博客 1万+

Verilog十大基本功2(testbench的设计 文件读取和写入操作 源代码)

需求说明:Verilog设计基础 内容       :testbench的设计 读取文件 写入文件 来自       :时间的诗 十大基本功之 testbench 1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应。 端口分为 input,output 和 inout 类型产生激励信号的时候, input  对

时间的诗 5万+

【C++】07 新安江模型COM组件

把新安江模型做成COM组件的形式(也就是`.dll`的形式),并在Windows平台上用C++调用。

记录专业模型开发、算法程序设计、软件学习笔记、生活日志。 1178

k8s问题处理

执行 kubectl api-resources 报错如下。

weixin_40548182的博客 944

ATL中的RGS文件介绍

VC的ATL向导会生成com对象注册用的rgs文件。如果程序中有想写到注册表中的地方,可以手工编辑这个脚本,可以省去调用一堆操作注册表的API。 关于rgs的详细规则,MSDN上面有,搜索ATL Registrar这个主题即可以看到,下面只是一点简单的介绍: HKCR    //表示下面的注册表项都写到HKCR下面   { SecEdit.EditCtrl.1 = s 'EditC

发展是曲折的但也是前进的 1669

立体仓库WCS控制系统-AGV通信代码

string str = "任务下发,WCS->NT8000(q-Message),ikey:" + p.ikey.ToString() + "fromStation:" + p.fromStation.ToString() + "toStation:" + p.toStation.ToString();if (nt8000.Connect(_ServerAddr, _ServerPort)) QueueSpeech.AddQueue(string.Format("与NT8000重连成功"));

xdpcxq的专栏 2204

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Programming with ATL

http://www.cnblogs.com/devilmsg/archive/2008/08/31/1280513.html 深入解析ATL(第二版ATL8.0)(1.1-1.3节) 翻译:赖仪灵 出处: http://blog.youkuaiyun.com/laiyiling 声明:版权归原作者拥有,请勿随意转载此翻译文档,保留一切权利。   1.1    什么是 AT

chla的专栏 611

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

吕 思 伟 ---- 潘 爱 民 :: ATL 介 绍( 三)

ATL 介 绍 ( 三 ) 吕 思 伟---- 潘 爱 民 ---- ( 接 上 期) 允 许 支 持MFC。 由 于ATL 对 除COM 以 外 的 基 本 的Windows 编 程 方 面 的 支 持 极 为 有 限, 同 时 许 多 程 序 员 对MFC 又 非 常 熟 悉, 因 此 在ATL 的 工 程 设 置 中 允 许 在ATL 工 程 内 部 支 持 使 用M

3010

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

DCOM揭秘之二

理解简单的DCOM服务器   以上我们主要讲解了如何通过一个客户应用使用COM。对于客户来说,COM的编程技巧是相当简单的。客户端的应用向COM子系统请求一个特定的组件,服务器端将其传送过来。    实际上,对于后台的组件管理工作,还需要写很多的代码。真正的对象实现需要使用复杂的系统组件和标准的应用模块。就算是使用MFC,也是很复杂的。大多数的专业编程者都不会花时间来研究这个过程。自从

stypace的专栏 1648

VBA and COM interaction and parameter conversions

To let VBA access COM object,  we need to add a ATL object from class

kylin的专栏 1344

ATL学习笔记〔一〕

ATL 即活动模板库,是一套基于模板的 C++ 类,使用这些类可以容易地创建小型、快速的组件对象模型 (COM) 对象。它具有对主要 COM 功能的特殊支持,包括:IUnknown、IClassFactory、IClassFactory2 和 IDispatch 的常用实现;双重接口;标准 COM 枚举数接口;连 接点;分开的接口;ActiveX 控件。 [[看来,ATL是用C++开发CO...

weixin_34216196的博客 239

用ATL建立轻量级的COM对象

本文假设你熟悉C++和COM。摘要:    ATL——活动模板库(The Active Template Library),其设计旨在让人们用C++方便灵活地开发COM对象。ATL本身相当小巧灵活,这是它最大的优点。用它可以创建轻量级的,自包含的,可复用的二进制代码,不用任何附加的运行时DLLs支持。    由于COM技术良好的口碑,越来越多的程序员已经走进或正在走进COM的编程世界。它就像盛夏里

Alvin-He的专栏 1775

ATL编程初级教程

介绍   本教程的目的是告诉你如何使用ATL创建一个COM服务器,并使用Visual C++和Visual Basic程序来分别调用这个服务器。我并不想深入探讨COM的细节,也不想让你深陷于IDL之中。这一教程只是为VC++的新手程序员设计的,告诉他们利用ATL来创建一个COM对象有多么简单,并让他们能对ATL产生更多的兴趣。 第1步:启动ATL COM Wizard   你所需要做

把握自己。 2596

【COM/ATL 运用ATL工程创建和调用COM组件】

ATL (Active Template Library) 是一个用于简化 COM (Component Object Model) 组件开发的库。使用 ATL,你可以创建 COM 对象,这些对象可以跨进程和跨机器进行通信。下面是一个简单的步骤,说明如何使用 ATL 创建一个简单的 COM 组件,并在另一个程序中使用它。 然后在你的 ATL 类中实现这个方法: 步骤 3: 注册 COM 组件 编译你的 ATL 项目后,你需要注册你的 COM 组件。这通常可以通过运行生成的 DLL 或 EXE 文件的 /R

一起学习进步! 1704
上一篇: ATL3.0中的窗口类
下一篇: ATL布幔之下的秘密(1)
cpusoft
博客等级 码龄22年 8粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值