CoRevokeClassObject (Compact 2013)

3/26/2014

This function informs OLE that a class object, previously registered with the CoRegisterClassObject function, is no longer available for use.

Syntax

HRESULT CoRevokeClassObject(
  DWORD dwRegister
);

Parameters

  • dwRegister
    [in] Token previously returned from the CoRegisterClassObject function.

Return Value

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 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.

Requirements

Header

objbase.h

Library

ole32.lib

See Also

Reference

COM Functions
CoGetClassObject