Función CoRevokeClassObject (combaseapi.h)

Informa a OLE de que un objeto de clase, registrado previamente con la función CoRegisterClassObject , ya no está disponible para su uso.

Sintaxis

HRESULT CoRevokeClassObject(
  [in] DWORD dwRegister
);

Parámetros

[in] dwRegister

Un token devuelto anteriormente desde la función CoRegisterClassObject .

Valor devuelto

Esta función puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY y E_UNEXPECTED, así como los valores siguientes.

Código devuelto Descripción
S_OK
El objeto de clase se revoca correctamente.

Comentarios

Una llamada correcta a CoRevokeClassObject significa que el objeto de clase se ha quitado de la tabla de objetos de clase global (aunque no libera el objeto de clase). Si otros clientes todavía tienen punteros al objeto de clase y han provocado que el recuento de referencias se incremente mediante llamadas a IUnknown::AddRef, el recuento de referencias no será cero. Cuando esto ocurre, las aplicaciones pueden beneficiarse si se producen errores en las llamadas posteriores (con las excepciones obvias de AddRef e IUnknown::Release) al objeto de clase. Tenga en cuenta que CoRegisterClassObject llama a AddRef y CoRevokeClassObject llama a Release, por lo que las dos funciones forman un par AddRef/Release .

Una aplicación de objeto debe llamar a CoRevokeClassObject para revocar objetos de clase registrados antes de salir del programa. Los implementadores de objetos de clase deben llamar a CoRevokeClassObject como parte de la secuencia de versión. Debe revocar específicamente el objeto de clase incluso cuando haya especificado el valor flags REGCLS_SINGLEUSE en una llamada a CoRegisterClassObject, lo que indica que solo una aplicación puede conectarse al objeto de clase.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado combaseapi.h (incluya Objbase.h)
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

CoGetClassObject

CoRegisterClassObject