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