SetConvertStg-Funktion (ole2.h)
Die SetConvertStg-Funktion legt das Convert-Bit in einem Speicherobjekt fest, um anzugeben, dass das Objekt beim Öffnen in eine neue Klasse konvertiert werden soll. Die Einstellung kann mit einem Aufruf der GetConvertStg-Funktion abgerufen werden.
Syntax
HRESULT SetConvertStg(
LPSTORAGE pStg,
BOOL fConvert
);
Parameter
pStg
IStorage-Zeiger auf das Speicherobjekt, in dem das Konvertierungsbit festgelegt werden soll.
fConvert
Wenn TRUE, legt das Konvertierungsbit für das Objekt fest, um anzugeben, dass das Objekt beim Öffnen konvertiert werden soll. Wenn FALSE, löscht das Konvertierungsbit.
Rückgabewert
Mögliche Speicher- und Streamzugriffsfehler finden Sie unter den Methoden IStorage::CreateStream, IStorage::OpenStream, ISequentialStream::Read und ISequentialStream::Write .
Hinweise
Die SetConvertStg-Funktion bestimmt die status des Convert-Bits in einem enthaltenen Objekt. Sie wird sowohl von der Containeranwendung als auch vom Server aufgerufen, um ein Objekt von einer Klasse in eine andere zu konvertieren. Wenn ein Benutzer über ein Dialogfeld Konvertieren in angibt (das der Container mit einem Aufruf der OleUIConvert-Funktion erzeugt), dass ein Objekt konvertiert werden soll, muss der Container die folgenden Schritte ausführen:
- Entladen Sie das Objekt, wenn es gerade geladen ist.
- Rufen Sie WriteClassStg auf, um die neue CLSID in den Objektspeicher zu schreiben.
- Rufen Sie WriteFmtUserTypeStg auf, um den neuen Benutzertypnamen und das vorhandene Standard Format in den Speicher zu schreiben.
- Rufen Sie SetConvertStg auf, wobei der fConvert-Parameter auf TRUE festgelegt ist, um anzugeben, dass das Objekt beim nächsten Laden für die Konvertierung in eine neue Klasse markiert wurde.
- Rufen Sie kurz vor dem Laden des Objekts OleDoAutoConvert auf, um alle erforderlichen Objektkonvertierungen zu verarbeiten, es sei denn, Sie rufen OleLoad auf, der es intern aufruft.
- Rufen Sie die GetConvertStg-Funktion auf, um den Wert des Konvertierungsbits abzurufen.
- Wenn das Bit festgelegt ist, liest der Server die Daten gemäß dem Format, das der neuen CLSID zugeordnet ist, aus dem Objekt.
- Wenn das Objekt aufgefordert wird, sich selbst zu speichern, sollte das Objekt die WriteFmtUserTypeStg-Funktion mit dem normalen nativen Format und Benutzertyp des Objekts aufrufen.
- Das -Objekt sollte dann SetConvertStg aufrufen, wobei der fConvert-Parameter auf FALSE festgelegt ist, um das Konvertierungsbit des Objekts zurückzusetzen.
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 |