选项,ATL 简单对象向导
使用 ATL 简单对象向导的页面设计,以提高对象的效率和错误支持。
有关 ATL 项目和 ATL COM 类的详细信息,请参阅 ATL COM 桌面组件。
线程模型
指示用于管理线程的方法。 默认情况下,项目使用单元线程。
有关详细信息,请参阅指定项目的线程模型。
选项 说明 Single 指定对象始终在主 COM 线程中运行。 有关详细信息,请参阅单线程单元和 InprocServer32。 单元 指定对象使用单元线程。 等效于单线程单元。 单元线程组件的每个对象都为其线程分配一个单元,用于对象的生存期:但是,多个线程可用于多个对象。 每个单元都绑定到特定线程,并具有 Windows 消息泵(默认)。
有关详细信息,请参阅单线程单元。两者 指定该对象可以使用单元线程或免费线程,具体取决于创建的线程类型。 免费 指定对象使用自由线程。 免费线程处理等效于多线程单元模型。 有关详细信息,请参阅多线程单元。 Neutral 指定对象遵循多线程单元的准则,但它可以在任何类型的线程上执行。 聚合
指明对象是否使用聚合。 聚合对象选择要向客户端公开的接口,并且接口公开方式与实现它们的聚合对象一样。 聚合对象的客户端仅与聚合对象通信。
选项 说明 是 指定可以聚合的对象。 默认值。 否 指定不聚合的对象。 仅限 指定必须聚合的对象。 Interface
指示对象支持的接口类型。 默认情况下,对象支持双重接口。
选项 说明 双重 指定对象支持双接口(其 vtable 具有自定义接口函数和后期绑定的 IDispatch
方法)。 使 COM 客户端和自动化控制器都能访问对象。 默认值。自定义 指定对象支持自定义接口(其 vtable 具有自定义接口函数)。 自定义接口的速度比双重接口更快,尤其对于跨进程边界而言。
- 自动化兼容 允许自动化控制器访问具有自定义接口支持的对象。支持
表示对象的其他支持。
选项 说明 ISupportErrorInfo 创建对 ISupportErrorInfo 接口的支持,使对象可以将错误信息返回到客户端。 连接点 通过使对象的类派生自 IConnectionPointContainerImpl,为对象启用连接点。 自由线程封送处理程序 创建一个自由线程封送器对象,以在同一进程中的线程之间有效地封送接口指针。 可用于将两者指定为线程模型的对象。 IObjectWithSite(IE 对象支持) 实现 IObjectWithSiteImpl,它提供了一种简单的方法来支持对象与其容器中的站点之间的通信。