DllUnregisterServer
Instructs an
in-process server to remove only those entries created through DllRegisterServer.
STDAPI DllUnregisterServer(void);
Return Values
This function
supports the standard return values E_OUTOFMEMORY and E_UNEXPECTED, as well as
the following:
S_OK
The registry
entries were created successfully.
S_FALSE
Unregistration
of this server s known entries was successful, but other entries
still exist for this server s classes.
SELFREG_E_TYPELIB
The server
was unable to remove the entries of all the type libraries used by its classes.
SELFREG_E_CLASS
The server
was unable to remove the entries of all the object classes.
Remarks
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 TreatAs 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 Win32 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.
See Also