In-process COM servers: Registering and unregistering COM objects
Implementing DllRegisterServer and DllUnregisterServer
DllRegisterServer can use Win32 API calls
RegSetValueEx to add keys and values into the registry.
Strings entered into the registry are "wide" strings, meaning that they are 16 bits per character.
RegDeleteValue can be used in
DllUnregisterServer to remove a registry entry.
StringFromGUID2 takes in a CLSID in numeric format (for example,
CLSID_O1) and converts it into a string.
GetModuleFileName gets the full path name of a module (for example, DLL) to enter as the
Check the Win32 and COM documentation for details about the registry. Later on, we will develop a server using ATL. The ATL COM-Wizard will
generate data and code that automatically handle registration for us.
The final step is to implement the DllRegisterServer function.
The DLL that contains the component must export this function. The function will be called by a set-up application, or when the user runs the Regsvr32.exe tool.
The following example in C++ shows a minimal implementation of DlLRegisterServer: