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 |
---|---|
|
Das Objekt wurde erfolgreich markiert. |
|
Die CLSID ist nicht ordnungsgemäß in der Registrierung registriert. |
|
Fehler beim Lesen aus der Registrierung. |
|
Fehler beim Schreiben in die Registrierung. |
|
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 |