This function informs OLE that a class object, previously registered with the CoRegisterClassObject function, is no longer available for use.
A successful call to CoRevokeClassObject means that the class object has been removed from the global class object table (although it does not release the class object).
If other clients still have pointers to the class object and have caused the reference count to be incremented by calls to IUnknown::AddRef, the reference count will not be zero. When this occurs, applications can benefit if subsequent calls (with the obvious exceptions of IUnknown::AddRef and IUnknown::Release) to the class object fail.
An object application must call CoRevokeClassObject to revoke registered class objects before exiting the program. Class object implementers should call CoRevokeClassObject as part of the release sequence.
Your application must specifically revoke the class object even if it has specified the flags value REGCLS_SINGLEUSE in a call to CoRegisterClassObject, indicating that only one application can connect to the class object.
To determine whether the platform supports this function, see Determining Supported COM APIs.