选项,ATL 简单对象向导

使用 ATL 简单对象向导的页面设计,以提高对象的效率和错误支持。

有关 ATL 项目和 ATL COM 类的详细信息,请参阅 ATL COM 桌面组件

  • 线程模型

    指示用于管理线程的方法。 默认情况下,项目使用单元线程。

    有关详细信息,请参阅指定项目的线程模型

    选项 说明
    Single 指定对象始终在主 COM 线程中运行。 有关详细信息,请参阅单线程单元InprocServer32
    单元 指定对象使用单元线程。 等效于单线程单元。 单元线程组件的每个对象都为其线程分配一个单元,用于对象的生存期:但是,多个线程可用于多个对象。 每个单元都绑定到特定线程,并具有 Windows 消息泵(默认)。

    有关详细信息,请参阅单线程单元
    两者 指定该对象可以使用单元线程或免费线程,具体取决于创建的线程类型。
    免费 指定对象使用自由线程。 免费线程处理等效于多线程单元模型。 有关详细信息,请参阅多线程单元
    Neutral 指定对象遵循多线程单元的准则,但它可以在任何类型的线程上执行。
  • 聚合

    指明对象是否使用聚合。 聚合对象选择要向客户端公开的接口,并且接口公开方式与实现它们的聚合对象一样。 聚合对象的客户端仅与聚合对象通信。

    选项 说明
    指定可以聚合的对象。 默认值。
    指定不聚合的对象。
    仅限 指定必须聚合的对象。
  • Interface

    指示对象支持的接口类型。 默认情况下,对象支持双重接口。

    选项 说明
    双重 指定对象支持双接口(其 vtable 具有自定义接口函数和后期绑定的 IDispatch 方法)。 使 COM 客户端和自动化控制器都能访问对象。 默认值。
    自定义 指定对象支持自定义接口(其 vtable 具有自定义接口函数)。 自定义接口的速度比双重接口更快,尤其对于跨进程边界而言。

    - 自动化兼容 允许自动化控制器访问具有自定义接口支持的对象。
  • 支持

    表示对象的其他支持。

    选项 说明
    ISupportErrorInfo 创建对 ISupportErrorInfo 接口的支持,使对象可以将错误信息返回到客户端。
    连接点 通过使对象的类派生自 IConnectionPointContainerImpl,为对象启用连接点。
    自由线程封送处理程序 创建一个自由线程封送器对象,以在同一进程中的线程之间有效地封送接口指针。 可用于将两者指定为线程模型的对象。
    IObjectWithSite(IE 对象支持) 实现 IObjectWithSiteImpl,它提供了一种简单的方法来支持对象与其容器中的站点之间的通信。

另请参阅

ATL 简单对象向导
ATL 简单对象
进程内服务器线程问题