devxlogo

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;}

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Seven Service Boundary Mistakes That Create Technical Debt

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.