CoRevokeClassObject
Informs OLE
that a class object, previously registered with the CoRegisterClassObject
HRESULT CoRevokeClassObject(
DWORD dwRegister |
//Token on class object |
); |
|
Parameter
dwRegister
[in] Token
previously returned from the CoRegisterClassObject
Return Values
This
function supports the standard return values E_INVALIDARG,
E_OUTOFMEMORY,
and E_UNEXPECTED, as well as the following:
S_OK
The class
object was successfully revoked.
Remarks
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 may
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. You must
specifically revoke the class object even when you have specified the flags value
REGCLS_SINGLEUSE in a call to CoRegisterClassObject, indicating that
only one application can connect to the class object.
See Also