OleSetAutoConvert-Funktion (ole2.h)

Gibt eine CLSID für die automatische Konvertierung in eine andere Klasse an, wenn ein Objekt dieser Klasse geladen wird.

Syntax

HRESULT OleSetAutoConvert(
  [in] REFCLSID clsidOld,
  [in] REFCLSID clsidNew
);

Parameter

[in] clsidOld

Die CLSID der zu konvertierenden Objektklasse.

[in] clsidNew

Die CLSID der Objektklasse, die clsidOld ersetzen soll. Diese neue CLSID ersetzt alle vorhandenen Informationen zur automatischen Konvertierung in der Registrierung für clsidOld. Wenn dieser Wert CLSID_NULL ist, werden alle vorhandenen Informationen zur automatischen Konvertierung für clsidOld aus der Registrierung entfernt.

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 Objekt wurde erfolgreich markiert.
REGDB_E_CLASSNOTREG
Die CLSID ist nicht ordnungsgemäß in der Registrierung registriert.
REGDB_E_READREGDB
Fehler beim Lesen aus der Registrierung.
REGDB_E_WRITEREGDB
Fehler beim Schreiben in die Registrierung.
REGDB_E_KEYMISSING
Ein Schlüssel kann nicht aus der Registrierung gelesen werden.

Hinweise

OleSetAutoConvert wechselt zur Systemregistrierung, sucht den AutoConvertTo-Unterschlüssel unter der clsidOld angegebenen CLSID und legt ihn auf clsidNew fest. Diese Funktion überprüft nicht, ob derzeit ein entsprechender Registrierungseintrag für clsidNew vorhanden ist. Diese Einträge werden in der Registrierung als Unterschlüssel des CLSID-Schlüssels angezeigt.

Objektkonvertierung bedeutet, dass die Daten des Objekts dauerhaft einer neuen CLSID zugeordnet sind. Die automatische Konvertierung wird normalerweise im Setupprogramm einer neuen Version einer Objektanwendung angegeben, sodass Objekte, die von älteren Versionen erstellt wurden, automatisch auf die neue Version aktualisiert werden können.

Beispielsweise kann es erforderlich sein, Kalkulationstabellen, die mit früheren Versionen einer Tabellenkalkulationsanwendung erstellt wurden, in die neue Version zu konvertieren. Die Tabellenkalkulationsobjekte aus früheren Versionen weisen andere CLSIDs als die neue Version auf. Für jede frühere Version, die automatisch aktualisiert werden soll, rufen Sie oleSetAutoConvert im Setupprogramm auf, und geben dabei die CLSID der alten Version und die clSID der neuen Version an. Wenn ein Benutzer dann ein Objekt aus einer früheren Version lädt, wird es automatisch aktualisiert. Um die automatische Konvertierung von Objekten zu unterstützen, muss ein Server, der die Konvertierung unterstützt, darauf vorbereitet sein, Objekte, die das Format einer früheren Version des Servers aufweisen, manuell zu konvertieren. Die automatische Konvertierung basiert intern auf dieser Unterstützung für manuelle Konvertierungen.

Vor dem Festlegen des gewünschten AutoConvertTo-Werts sollten Setupprogramme auch OleSetAutoConvert aufrufen, um alle vorhandenen Konvertierungen für die neue Klasse zu entfernen, indem sie die neue Klasse als clsidOld-Parameter angeben und den clsidNew-Parameter auf CLSID_NULL festlegen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ole2.h
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

AutoConvertTo

OleDoAutoConvert

OleGetAutoConvert