Make an ATL Object Noncreatable

Make an ATL Object Noncreatable

Here is a simple way to make your COM object noncreatable. You can change the attributes of an ATL-based COM object so that the automation client cannot directly create the object. In this case, the object would be returned via a method call on another object rather than created directly. To make an object noncreatable remove the OBJECT_ENTRY for the object from the ATL object map and add the ‘noncreatable’ attribute to the coclass in the IDL file. This prevents a client from using the default class factory to create instances of an object interface.

For example:

 [uuid(A1992E3D-3CF0-11D0-826F-00A0C90F2851),helpstring("This class cannot be created directly"),noncreatable]coclass CMyClass{[default] interface IMyInterface;}

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist