Отключение возможности создания объекта ATL
Вы можете изменить атрибуты COM-объекта на основе ATL, чтобы клиент не смог напрямую создать объект. В этом случае объект будет возвращен с помощью вызова метода для другого объекта, а не непосредственного создания.
Создание несоотделимого объекта
Удалите OBJECT_ENTRY_AUTO для объекта. Если вы хотите, чтобы объект был несоздаемым, но элемент управления, который будет зарегистрирован, замените OBJECT_ENTRY_AUTO на OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO.
Добавьте атрибут noncreatable в coclass в IDL-файле. Например:
[uuid(A1992E3D-3CF0-11D0-826F-00A0C90F2851), helpstring("MyObject"), noncreatable] coclass MyObject { [default] interface IMyInterface; }
См. также
Мастер проектов ATL
Типы проектов C++ в Visual Studio
Программирование с использованием ATL и кода среды выполнения C
Основы COM-объектов ATL
Конфигурации проектов ATL по умолчанию