CoRevokeClassObject-Funktion (combaseapi.h)

Informiert OLE, dass ein Klassenobjekt, das zuvor mit der CoRegisterClassObject-Funktion registriert wurde, nicht mehr zur Verwendung verfügbar ist.

Syntax

HRESULT CoRevokeClassObject(
  [in] DWORD dwRegister
);

Parameter

[in] dwRegister

Ein Token, das zuvor von der CoRegisterClassObject-Funktion zurückgegeben wurde.

Rückgabewert

Diese Funktion kann die Standardrückgabewerte E_INVALIDARG, E_OUTOFMEMORY und E_UNEXPECTED sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Das Klassenobjekt wurde erfolgreich widerrufen.

Hinweise

Ein erfolgreicher Aufruf von CoRevokeClassObject bedeutet, dass das Klassenobjekt aus der globalen Klassenobjekttabelle entfernt wurde (obwohl das Klassenobjekt nicht freigegeben wird). Wenn andere Clients weiterhin Über Zeiger auf das Klassenobjekt verfügen und die Verweisanzahl durch Aufrufe von IUnknown::AddRef erhöht wurde, ist die Verweisanzahl nicht null. In diesem Fall können Anwendungen davon profitieren, wenn nachfolgende Aufrufe (mit den offensichtlichen Ausnahmen von AddRef und IUnknown::Release) des Klassenobjekts fehlschlagen. Beachten Sie, dass CoRegisterClassObjectAddRef und CoRevokeClassObjectRelease aufruft, sodass die beiden Funktionen ein AddRef/Release-Paar bilden.

Eine Objektanwendung muss CoRevokeClassObject aufrufen, um registrierte Klassenobjekte zu widerrufen, bevor das Programm beendet wird. Klassenobjektimplementierer sollten CoRevokeClassObject als Teil der Releasesequenz aufrufen. Sie müssen das Klassenobjekt ausdrücklich widerrufen, auch wenn Sie den Flagwert REGCLS_SINGLEUSE in einem Aufruf von CoRegisterClassObject angegeben haben, was angibt, dass nur eine Anwendung eine Verbindung mit dem Klassenobjekt herstellen kann.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile combaseapi.h (include Objbase.h)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

Cogetclassobject

CoRegisterClassObject