组件对象模型查询接口
Component Object Model Query Interace
嗨,我正在读Don Box的书《Essential COM》。我的问题是关于IUnknown中的QueryInterface方法。虽然我知道类型转换的实现被移到了接口上,以保护客户端免受类型转换代码的影响,但我不明白这是什么原因。这本书在第一章中说,RTTI的实现因编译器而异,因此在IUnknown中使用QueryInterface方法的动机。然而,在客户端进行选角有什么问题。我的意思是,只需要实现是跨供应商、跨编译器和跨平台的,客户端代码不必有任何这些约束,因此也可以在客户端进行强制转换。如对此有任何见解,我们将不胜感激。
谢谢,Abdul
在存在多重继承的情况下进行转换需要了解实现,因此它不能纯粹是客户端。(需要的是一个动态的演员阵容。)
现有机制还允许使用强制转换无法实现的有用实现技术,例如QueryInterface的结果可以是一个完全独立的对象,可能是动态创建的。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 查询SQLite数据库中的日期
- 如何在ArangoDb AQL查询中指定数据库
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- Visual C++GC接口如何启用它以及要包含哪个库
- Windows.h与GLFW.h的接口
- Qt SQLite没有查询或参数计数不匹配
- 如何使用c++在VS 2019上运行SQL查询
- 当字段可以为null时,如何使用C++接口在Avro中写入数据
- 提供与TMP和SFINAE的通用接口
- 为重写std::exception的库生成swig接口时出错
- 内联如何影响模块接口中的成员函数
- 从返回的顶点缓冲区查询顶点结构
- COM 接口 c# 封送数组数组
- 组件对象模型查询接口
- 为什么在 IUserNotificationCallback COM 对象上查询 IMarshall 接口
- 为什么需要查询接口
- 类接口查询
- 如何向上查询或向下查询接口指针
- 查询接口以查找具有 libpcap 的设备