DllUnregisterServer function (olectl.h)

Instructs an in-process server to remove only those entries created through DllRegisterServer.


HRESULT DllUnregisterServer();

Return value

This function can return the standard return values E_OUTOFMEMORY and E_UNEXPECTED, as well as the following values.

Return code Description
The registry entries were deleted successfully.
Unregistration of this server's known entries was successful, but other entries still exist for this server's classes.
The server was unable to remove the entries of all the type libraries used by its classes.
The server was unable to remove the entries of all the object classes.


The server must not disturb any entries that it did not create which currently exist for its object classes. For example, between registration and unregistration, the user may have specified a Treat As relationship between this class and another. In that case, unregistration can remove all entries except the TreatAs key and any others that were not explicitly created in DllRegisterServer. The registry functions specifically disallow the deletion of an entire populated tree in the registry. The server can attempt, as the last step, to remove the CLSID key, but if other entries still exist, the key will remain.


Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header olectl.h
Library Ole32.lib
DLL Ole32.dll

See also