Share via


使 ATL 对象不可创建

可以更改基于 ATL 的 COM 对象的属性,以使客户端无法直接创建对象。 在这种情况下,对象将通过对另一个对象的方法调用返回,而不是直接创建。

使 ATL 对象不可创建

  1. 移除对象的 OBJECT_ENTRY_AUTO。 如果你希望对象不可创建但要注册控件,请将 OBJECT_ENTRY_AUTO 替换为 OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO。

  2. 不可创建属性添加到 .idl 文件中的 coclass。 例如:

    [uuid(A1992E3D-3CF0-11D0-826F-00A0C90F2851),
    helpstring("MyObject"),
    noncreatable]
    coclass MyObject
    {
        [default] interface IMyInterface;
    }
    

另请参阅

ATL 项目向导
Visual Studio 中的 C++ 项目类型
使用 ATL 和 C 运行时代码进行编程
ATL COM 对象基础知识
默认 ATL 项目配置