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=