社区
ATL
帖子详情
如何在自己写的COM(用ATL)中调用别的COM对象,如NETMEETING3的INmCall接口?
Dev
2000-04-29 12:01:00
本人想用ATL写一个COM的DLL,并想在DLL中调用NETMEETING3的SDK提供COM接口,想请教通过什么步骤可以使我调用这些接口,或在自己的类中继承这些对象。
...全文
382
4
打赏
收藏
如何在自己写的COM(用ATL)中调用别的COM对象,如NETMEETING3的INmCall接口?
本人想用ATL写一个COM的DLL,并想在DLL中调用NETMEETING3的SDK提供COM接口,想请教通过什么步骤可以使我调用这些接口,或在自己的类中继承这些对象。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
net_star
2001-10-16
打赏
举报
回复
本身是可以直接使用的,不过继承以后可以方便使用的。
我搞不懂到底,SDK中的 COM ,ATL,等等到底是什么意思,我看过关于这方面的书,不过看程序
还是不懂!
Marksman
2000-04-29
打赏
举报
回复
COM对象是没有继承的概念的,复用COM对象需要使用聚合和包容技术。
一般而言,COM对象是直接使用的。
NetMeeting中若提供了COM对象则应该可以直接使用。
softdoctor
2000-04-29
打赏
举报
回复
1.调用CoCreateInstance
创建该对象实例 pUnKnown
2.调用pUnKnown->QueryInterface
获得特定接口 pInterface
3、获得pInterface之后,如果该COM对象支持双接口,最好
直接调用pInterce->theMethod,theMethod是你调用的方法。
这样做可提高调用效率。
如果不是支持双接口,那么一定支持IDispatch接口调用
pInterce->Invoke 调用你需要的方法。
在这几个过程中有几个东西要知道。
被调用对象的CLSID、接口IID,方法MemberID,及方法参数形式。
最后,对以上几个函数应会使用,可看VC帮助。
Un1
2000-04-29
打赏
举报
回复
NM3SDK中不是大把例子吗?
深入解析
ATL
(第2版).pdf
中
文名: 深入解析
ATL
(第2版) 原名:
ATL
Internals, 2nd Edition Working with
ATL
8 别名:
ATL
作者: (美)塔瓦瑞斯译者: 赖仪灵 曹雨田 资源格式: PDF 版本: 扫描版 出版社: 电子工业出版社书号: 9787121049859发行时间: 2007年11月01日 地区: 大陆 语言: 简体
中
文 简介: 编辑推荐
ATL
的发明人Jim Springfield亲自作序推荐。 四位顶尖的Windows编程专家倾力合作,绝对经典再现。
COM
、
ATL
开发人员的必备宝典。 深入分析
ATL
实现
COM
内幕细节,展示
COM
应用
中
的各类漂亮技巧。
ATL
的经典指南现已更新到
ATL
8和VisuaI Studio 2005: 四位顶尖的Windows编程专家在本书
中
系统地揭示了
ATL
的内部工作原理,他们解释了
ATL
是 如何工作的,以及为什么要以这样的方式工作。通过本书,客户端开发人员可以掌握
ATL
中
的窗口、
COM
控件、MFC集成、Web服务代理生成等资源。服务端编程人员可以应用
ATL
的全
COM
服务器和
对象
服务、高吞吐量、高并发Web应用程序和服务的广泛支持。每个Windows开发人员都将从本书
中
学到强大的方法来增加应用程序的灵活性、减少负载、最大化程序的透明度和可控性。 ·通过图表、示例代码和
ATL
的内部实现代码来揭密
ATL
的内部原理。 ·遍历向导以简化在普通应用程序
中
的
ATL
开发。 ·掌握C++、
COM
和
ATL
中
的字符串使用技巧。 ·利用
ATL
的智能类型:C
Com
Ptr、C
Com
QIPtr、C
Com
BSTR和C
Com
Variant。 ·理解并正确实现IUnknown。 ·创建能从
COM
服务器
中
暴露
COM
对象
的粘合代码。 ·使用Canned Interface实现来支持
对象
的永久性、
COM
集合、枚举器和连接点。 ·使用
ATL
窗口类和控件建立独立的应用程序和UI组件。 ·使用
ATL
Servet开发可以运行在微软IIS上的Web应用程序。 虽然.NET系统从1998年才开始其发展进程。但它已经使很多开发人员的编程发生了革命性的变化,并在未来几年将持续得到改进。但是,
COM
编程(和
ATL
)也依然非常有活力,对Microsoft内外的很多开发人员都非常重要。本书的第2版,与第1版一样,提供了您所需要的信息,使我们在这些技术上的投资也将获得最大的回报。 ——Jim Springfield,
ATL
发明人 虽然
ATL
比较精深,但是这本书的讲解非常通俗易懂,语言比较简练,条理非常清楚。即使在读完这本书之后,它仍然可以作为参考书指导我们的开发和学习工作。我想,这就是好书的价值所在吧。 ——潘爱民,经典畅销书《深入解析Windows操作系统,第4版》译者 内容简介 本书主要介绍了
ATL
技术的原理、内部实现和应用技巧,由当今4 位顶尖的 Windows技术专家联合撰
写
。全书内容丰富,深入浅出,主要涵盖了
ATL
内部架构和实现方法、运用向导简化
ATL
开发、C++/
COM
/
ATL
中
字符串的使用技巧、理解并正确实现IUnknown、充分利用
ATL
提供的Smart Types、撰
写
能够暴露
COM
服务器上
COM
对象
的粘合代码、利用Canned Interface实现来支持
对象
持久化/
COM
群集/枚举、利用
ATL
Windows类建构独立的应用程序和UI组件等的技术内容。本书适合于广大Windows开发人员阅读参考,是
ATL
开发人员的必备权威参考书籍。 作者简介 Christopher Tavares,目前在微软工作,是模式与实践方面的专家。有着超过25年的编程经验,涉及的平台从Sinclair ZX-81到多CPU信号处理硬件。 目录: 第2版序 第1版序 前言 致谢 关于作者 联系博文视点 第1章 你好,
ATL
1.1 什么是
ATL
1.2 创建
COM
服务器 1.3 插入
COM
类 1.4 添加属性和方法 1.5 实现附加
接口
1.6 脚本支持 1.7 添加永久性 1.8 添加和激发事件 1.9 使用窗口 1.10
COM
控件 1.11 容纳控件 1.12
ATL
Server Web项目 1.13 总结 第2章 字符串和文本 2.1 字符串数据类型、转换类和辅助函数 2.2 智能BSTR类C
Com
BSTR 2.3 C
Com
BSTR类 2.4 CString类 2.5 总结 第3章
ATL
智能类型 3.1 智能VARIANT类C
Com
Variant 3.2 智能SAFEARRAY类C
Com
SafeArray 3.3 智能指针类C
Com
Ptr和C
Com
QIPtr 3.4 智能指针类CAutoPtr和CAutoVectorPtr 3.5
ATL
内存管理器 3.6 总结 第4章
ATL
中
的
对象
4.1 实现IUnknown 4.2
ATL
的层次 4.3 线程模型支持 4.4 IUnknow核心 4.5 我们的类 4.6 C
Com
Object以及其他 4.7
ATL
创建者 4.8 调试 4.9 总结 第5章
COM
服务器 5.1 回顾
COM
服务器 5.2
对象
映射表和C
Atl
Module类 5.3
对象
映射表 5.4
对象
映射类要求的方法 5.5 C
Atl
Module类 5.6 重游C
Com
CoClass 5.7
ATL
与C运行时库 5.8 总结 第6章
接口
映射表 6.1 回顾:
COM
的实体身份 6.2 表驱动的QueryInterface 6.3 多重继承 6.4 Tear-off
接口
6.5 聚合:外部控制
对象
6.6
接口
映射表链 6.7 尽管说“不” 6.8 调试 6.9 扩展性 6.10 总结 第7章
ATL
中
的永久性 7.1 回顾
COM
的永久性 7.2
ATL
的永久性实现类 7.3 属性映射表 7.4 永久性实现 7.5 其他永久性实现 7.6 使用永久性添加“按值列集”的语义 7.7 总结 第8章 集合和枚举器 8.1
COM
集合和枚举
接口
8.2 枚举数组 8.3 枚举标准的C++集合 8.4 集合 8.5
ATL
数据类型的标准C++集合 8.6
ATL
集合 8.7
对象
模型 8.8 总结 第9章 连接点 9.1 回顾连接点 9.2 创建基于
ATL
的可连接
对象
9.3 创建一个接收事件的
对象
9.4 它是怎么工作的:杂乱的实现细节 9.5 总结 第10章 窗口 10.1 Windows应用程序的结构 10.2 CWindow 10.3 CWindowImpl 10.4 CDialogImpl 10.5 Windows控件包装类 10.6 CContainedWindow 10.7 总结 第11章 ActiveX控件 11.1 回顾ActiveX控件 11.2 BullsEye控件需求 11.3 使用
ATL
向导创建初始的控件 11.4 初始的BullsEye源文件 11.5 逐步开发BullsEye控件 11.6 总结 第12章 控件包容 12.1 控件是如何被包容的 12.2 基本的控件包容 12.3 在对话框
中
容纳控件 12.4 复合控件 12.5 HTML控件 12.6
ATL
控件包容的限制 12.7 总结 第13章 你好,
ATL
Server:一个新型的C++ Web平台 13.1 微软Web平台(因特网信息服务) 13.2 可能是可以运行的最简单ISAPI扩展 13.3 封装ISAPI 13.4
ATL
Server 13.5
ATL
Server
中
的Web服务 13.6 总结 第14章
ATL
Server内幕 14.1
ATL
Server
中
的ISAPI实现 14.2 服务器响应文件 14.3 请求处理程序示例 14.4 输入处理 14.5 会话管理 14.6 数据缓存 14.7 总结 附录A 实例展示C++模板 A.1 模板的必要性 A.2 模板基础 A.3 不同类型的多态 A.4 函数模板 A.5 成员函数模板 A.6 总结 附录B
ATL
头文件 附录C 移植到
ATL
8 C.1 字符串、字符集和转换 C.2 与MFC共享的类 C.3 实现
COM
服务器 C.4 ActiveX控件和控件容纳 C.5
ATL
_MIN_CRT变化 C.6 总结 附录D 属性化
ATL
D.1
ATL
Attributes的基础 D.2 属性化
ATL
的未来 D.3 总结 索引
COM
与
COM
+从入门到精通(pdf版本,含源码)
第一部分 了解
COM
第1章
COM
概述 何谓
CoM
COM
术语
COM
利与弊
COM
的好处
COM
的局限性
COM
组件与
接口
何谓
接口
接口
特征
接口
类型
接口
规则
接口
设计
COM
组件的实现规则 实现IUnknown规则 内存管理规则 引用计数规则
COM
激活
COM
类型
COM
客户机
COM
服务器 ActiveX控件
COM
与面向
对象
技术 包装 抽象 多态 继承
COM
Trader应用程序 小结 第2章 由VC++建立并使用
COM
服务器 IDL文件 建立第一个
COM
服务器 定义自定义
接口
实现IUnknown和自定义
接口
完成
COM
服务器 生成测试客户机 用
ATL
建立
COM
服务器 关于
ATL
用
ATL
建立进程内
COM
服务器 用
ATL
建立进程外
COM
服务器 线程与
COM
服务器 Win32多线程应用 线程
COM
组件 自动化与IDispatch 用VC++实现IDispatch
ATL
与自动化 Automation数据类型 再谈类型库 C++自动化客户机 VB自动化客户机 小结 第3章 用VB建立并使用
COM
服务器 选择
COM
项目 设计
接口
描述
接口
浏览
接口
生成
对象
使用ClassBuilder 增加属性 增加方法 增加事件与枚举 使用ActiveXDataObject(ADO) 在服务器组件
中
使用Recordset
对象
在客户机组件
中
使用ADOR 生成断开的Recodset 生成自己的RecodsctS 使用用户定义类型 错误处理 服务器客户机错误处理 使用VBErr.Raise机制 在VB
中
使用线程模型 设置线程模型 了解再入性与公寓 小结 第二部分
COM
与Internet 第4章 在VC++
中
建立并使用ActiveX控件 ACtiveX控件概还 属性与方法 控件与容器通信 事件与连接点 建立第一个控件 生成控件 测试控件 增加方法 增加属性 增加事件 增加属性页 允许属性保持 使用控件 建立复合控件 增加复合控件 增加功能 增加事件 处理复合控件事件 处理错误 使用控件 小结 第5章 在VB
中
建立并使用ActiveX控件 VB控件简介 约束与无约束控件 控件生成技术 属性类型 方法 属性配置 过程属性 环境属性配置 运行时只读属性 只在运行时有效的属性 扩展属性 容器属性 合成控件属性 可关联属性 持续与属性包 属性包 使用ActiveX控件界面向导 了解控件寿命 生成ActiveX控件 生成无约束控件 生成设计时数据约束控件 生成运行数据约束控件 小结 第6章 用VC++建立Internet
COM
组件 IEActiveX控件 轻量级控件 安全控件 持续属性 文档
对象
模型编程 活动服务器组件 活动服务器页面 ASP页面的
COM
组件 小结 第7章 用VB建立Internet
COM
组件 无窗口控件 ActiveX控件容器的线程模型 ActiveX控件的安全性 Web页面访问 VBDHTML项目 DHTML项目基础 DHTML应用程序样本 VBIIS应用程序 WebClass 一个IIS应用程序样本 设计控件 设计控件与HTML文件 样本设计控件 小结 第三部分 了解D
COM
第8章 D
COM
概述 何谓D
COM
为什么使用D
COM
D
COM
操作 D
COM
组件位置 进程内或进程外组件 代理 RPC(RemoteProcedureCall,远程过程
调用
) 调动 数据传递 D
COM
配置实用程序 D
COM
应用程序的安全机制 验证 授权 加密 整性检查 小结 第9章 用VC++建立D
COM
服务器 标准与自定义调动 标准调动 自定又调动 网络通伯 远程激活 AppID注册表项 可配置AppID注册表项参数 IUknown优化 D
COM
与NT服务 NT服务解剖 基于NT服务的
COM
服务器 小结 第10章 用VB建立D
COM
服务器 应用程序
对象
模型 何谓
对象
模型 如何生成
对象
模型 D
COM
设计准则与技术 再论调动 按数值与按引用 D
COM
进程外服务器 建立D
COM
组件 增加测试客户机 IIS应用程序 增加WebClasses 使用模板 增加自定义Webltems 远程错误处理 小结 第四部分 了解
COM
++ 第11章
COM
++概述
COM
与WindowsDNA 用户界面层技术
中
间层技术 数据库层技术 组件服务配置 事务处理 排队组件(QC) 实时结构的限制 事务性消息排队 排队组件结构 排队组件故障恢复 QC安全性 动态负荷平衡
对象
地 小结 第12章 用VC++建立
COM
++组件 ADO编程 ADO与OLEDB VC++
中
的ADO VC++的ADO扩展 建立
COM
++应用程序 温习IObjectContext
接口
用
ATL
建立
COM
++组件 编制基于角色的安全性 处理
COM
+事务 控制事务结果 指定事务属性 确定事务情境 传递
接口
指针 共享状态 建立事务性
COM
+组件 小结 第13章 用VB建立
COM
+组件 了解事务 事务与多层应用程序
COM
+与事务 事务属性:ACID
COM
+系统简介
COM
+运行环境
COM
+
Com
ponentServices
COM
+
接口
资源分配器 应用程序组件 探索
COM
+编程模型
COM
+组件作为
COM
DLL 基本
COM
+编程规则
COM
+API 用VB编程
COM
+
对象
描述表
COM
+组件的生命周期 ObjectControl
接口
MTS活动
COM
+
中
生成
对象
安全引用 组件之间的参数传递 数据类型 使用分布式事务 分布式事务协调器(MSDTC)
COM
+事务的工作 事务与有状态
对象
使用共享属性管理器(SPMSharedProperyManager) 小结 第14章 了解MSMQ 何谓MSMQ MSMQ的好处 MSMQ组件 队列 消息 MSMQ
对象
模型 MSMQ设置 MSMQ基础 消息发送 消息接收 MSMQ事件 MSMQ事务 小结 第五部分 高级
COM
与
COM
+ 第15章 VC++与VB
中
的
COM
+服务 了解
COM
+激活 描述表包装器 激活顺序 使用即时(JIT)激活 使用
对象
构造
中
性公寓简介 了解同步域 表示事务状态 取得
对象
信息 使用
对象
地
对象
池的好处
对象
地要求
对象
地配置 使用排队组件 QC限制 QC配置 QC
调用
QC播放控件 使用负荷平衡 负荷平衡要求 负荷平衡配置 小结 第16章
COM
与
COM
+安全性 何谓安全性 WindowsNT安全简介 NT验证 NT扮演 NT访问控制
COM
安全结构 验证 访问控制 启动权限 标_ 扮演与掩盖 安全总括
COM
+安全
COM
+说明性安全
COM
+角色 编程
COM
与
COM
+安全 整个进程安全
接口
级安全 激活安全 服务器方安全
调用
描述表安全信息 SecuntyProperty信息 安全性与数据库访问 小结 第17章 Windows2000
中
的新
COM
特性 同步机制
COM
同步API
COM
同步
接口
异步
COM
异步
接口
构造 异步
接口
调用
关于异步服务器与客户机 让服务器进行异步处理
调用
序列化与自动完成
COM
管道
COM
管道
接口
异步管道与提前读取
调用
对象
与
调用
取消
调用
取消请求
调用
取消处理 轻量级处理器 标准LWH 自定义LWH 小结 第六部分 调试与部署
COM
和
COM
+应用程序 第18章 调试与剖析
COM
和
COM
+应用程序 调试VB组件 调试MTS组件 调试
COM
+组件 使用条件编译 调试VC++组件 用VisualStUdioAnalyzer剖析 小结 第19章 部署
COM
与
COM
+应用程序 D
COM
应用程序部署 配置D
COM
服务器 配置D
COM
客户机 在Internet上部署 Internet上部署与包装 签名CAB文件 许可ActiveX控件 自动化
COM
+配置 使用
COM
Admin
接口
与集合 配置
COM
+应用程序 配置组件 配置角色 部署
COM
+应用程序 小结
Visual C++实践与提高-
COM
和
COM
+篇『PDF』
因文件超过20M不能上传,所以拆分为两个文件分次上传 第1章
COM
背景知识 1.1
COM
的起源 1.1.1 软件业面临的挑战 1.1.2 传统解决方案 1.1.3 面向
对象
程序设计方法 1.1.4 最终解决方案:组件软件 1.1.5 面向
对象
的组件模型——
COM
1.2
COM
的发展历程 1.2.1
COM
以前的
对象
技术:DDE、OLE 1、VBX控件 1.2.2
COM
首次亮相:OLE2 1.2.3 Microsoft拥抱Internet:ActiveX 1.2.4 更多的新名词:Windows DNA和
COM
+ 1.2.5 远程
对象
:ORBs和D
COM
1.2.6
COM
的最新版本:
COM
+ 1.3
COM
技术现状 1.3.1
COM
与CORBA 1.3.2
COM
与Enterprise Java Beans 1.3.3 Windows之外的
COM
小结 第2章 从C++到
COM
2.1 C++客户重用C++
对象
——例程DB 2.1.1 C++
对象
2.1.2 客户程序 2.2 将C++
对象
移进DLL
中
——例程DB_cppdll 2.2.1 成员函数的引出 2.2.2 内存分配 2.2.3 Unicode/ASCII兼容 2.2.4 例程实现 2.2.4.1 修改
接口
文件 2.2.4.2 修改
对象
程序 2.2.4.3 修改客户程序 2.3 C++
对象
使用抽象基类——例程DB_vtbl 2.3.1 问题:私有数据成员被暴露 2.3.2 解决方案:抽象基类 2.3.2.1 什么是抽象基类(Abstract Base Class) 2.3.2.2 实现秘诀:虚函数(Virtual Functions) 2.3.3 使用抽象基类 2.3.4 例程实现 2.3.4.1 修改
接口
文件 2.3.4.2 修改
对象
程序 2.3.4.3 修改客户程序 2.4 改由
COM
库装载C++
对象
——例程dbalmost
com
2.4.1
COM
库 2.4.2
对象
创建的标准入口点 2.4.3 标准
对象
创建API 2.4.4 标准
对象
注册 2.4.5 例程实现 2.4.5.1 修改
接口
文件 2.4.5.2 修改
对象
程序 2.4.5.3 修改客户程序 2.5 将C++
对象
变成
COM
对象
2.5.1 引用计数 2.5.2 多
接口
2.5.3 IUnknown
接口
2.5.4 标准类厂
接口
:IClassFactory 2.5.5
对象
代码的动态卸载 2.5.6 自动注册 2.5.7 例程实现 2.5.7.1 修改
接口
文件 2.5.7.2 修改
对象
程序 2.5.7.3 修改客户程序 2.6 为
COM
对象
添加多
接口
支持 2.6.1 多
接口
2.6.2 DEFINE_GUID 2.6.3 例程实现 2.6.3.1 修改
接口
文件 2.6.3.2 修改
对象
程序 2.6.3.3 修改客户程序 小结 第3章
COM
基础知识 3.1
对象
与
接口
3.1.1
COM
对象
3.1.2
COM
接口
3.1.3 IUnknown
接口
3.1.3.1 生存期控制:AddRef和Release 3.1.3.2
接口
查询:QueryInterface 3.1.4 全球唯一标识符GUID 3.1.5
COM
接口
定义 3.1.6
接口
描述语言IDL 3.2
COM
应用模型 3.2.1 客户/服务器模型 3.2.2 进程内组件 3.2.3 进程外组件 3.2.4
COM
库 3.2.5 HRESULT返回值 3.2.6
COM
与注册表 3.3
COM
组件 3.3.1 实现类厂
对象
3.3.2 类厂
对象
的创建 3.3.3 实现自动注册 3.3.4 实现自动卸载 3.4
COM
客户 3.4.1
COM
对象
创建函数 3.4.1.1 CoGetClassObject 3.4.1.2 CoCreateInstance 3.4.1.3 CoCreateInstanceEx 3.4.2 如何
调用
进程内组件 3.4.3
COM
客户
调用
进程外组件 3.5 进一步认识
COM
3.5.1 可重用机制:包容和聚合 3.5.2 进程透明性 3.5.3 安全性机制 小结 第4章
COM
扩展技术 4.1 可连接
对象
机制 4.1.1 客户、接收器与可连接
对象
4.1.1.1 接收器 4.1.1.2 可连接
对象
4.1.1.3 客户 4.1.2 实现可连接
对象
4.1.3 实现接收器 4.1.4 建立接收器与连接点的连接 4.1.5 获得出
接口
的类型信息 4.2 结构化存储 4.2.1 什么叫结构化存储和复合文件 4.2.2 存储
对象
和IStorage
接口
4.2.2.1 IStorage
接口
4.2.2.2 获得IStorage指针 4.2.2.3 释放STATSTG内存 4.2.2.4 枚举存储
对象
中
的元
ATL
COM
实现参考[1].doc
在MFC
中
调用
有一种很方便的方法,就是通过ClassWizard利用类型库生成包装类,不过有个前提就是
com
组件的
接口
必须是派生自IDispatch。
MS
Com
m控件
如果只安装VS2005,VS2008,使用MFC编程时,工具箱
中
无法添加串口通信控件。安装了这个组件后,就可以添加串口通信控件了。 1、将Ms
com
m.srg, Ms
com
m32.ocx,Ms
com
m32.dep三个文件复制到系统文件夹
中
,即C:\windows\system32 2、运行 注册.bat 3、导入 注册.reg
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章