devxlogo

Registering Custom Interfaces

Registering Custom Interfaces

When the object exposes the custom interfaces via standard marshalling, the proxystub DLL is required for marshalling data across the threadprocessescomputer boundaries.

The interfaces are specified in an IDL file that could be created manually or, by example by through MS VC++ ATL COM AppWizard. The MIDL compiler processes the IDL file and generates the number of files including the dlldata.c and Project_p.c files. By compiling these files with the defined REGISTER_PROXY_DLL compiler switch, the default registration code is added to the proxystub DLL. The HKLMSoftwareClassesIntrfaceIIDProxyStubCLSID32 subkey, plus the value of the CLSID for the default name for each interface will be added during the registration of this DLL. The default registration code uses the GUID of the first interface encountered in the IDL file as the default CLSID.

Use of the default CLSID is not always convenient, especially when new interfaces are added during the development of the DLL and the DLL is registering in the end of each its build.

You can use the PROXY_CLSID_IS= compiler switch to specify your own CLSID. To obtain the GUID, run the GuidGen.exe utility and select Option3.

devxblackblue

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