Делая Noncreatable объект ATL

Таким образом, чтобы клиент автоматизации не может напрямую создать объект можно изменить атрибуты на базе ATL COM-объекта. В этом случае объект будет возвращен через вызов метода на другой объект, а не непосредственно создается.

Чтобы сделать объект noncreatable

  1. Удалите OBJECT_ENTRY для объекта из карты объектов ATL.

  2. Добавьте атрибут noncreatable компонентным классом. Например:
[
   UUID(A1992E3D-3CF0-11d0-826F-00A0C90F2851),
   helpString("MyObject"),
  noncreatable
]
Компонентный класс MyObject
{
   [по умолчанию] интерфейс IMyInterface;
}

Index