Funzione OleSave (ole2.h)

Salva un oggetto aperto in modalità transazionata nell'oggetto di archiviazione specificato.

Sintassi

HRESULT OleSave(
  [in] LPPERSISTSTORAGE pPS,
  [in] LPSTORAGE        pStg,
  [in] BOOL             fSameAsLoad
);

Parametri

[in] pPS

Puntatore all'interfaccia IPersistStorage nell'oggetto da salvare.

[in] pStg

Puntatore all'interfaccia IStorage nell'oggetto di archiviazione di destinazione a cui deve essere salvato l'oggetto indicato in pPS .

[in] fSameAsLoad

TRUE indica che pStg è lo stesso oggetto di archiviazione da cui è stato caricato o creato l'oggetto; FALSE indica che pStg è stato caricato o creato da un oggetto di archiviazione diverso.

Valore restituito

Questa funzione restituisce S_OK in caso di esito positivo. Altri valori possibili includono quanto segue.

Codice restituito Descrizione
STGMEDIUM_E_FULL
Impossibile salvare l'oggetto a causa della mancanza di spazio su disco.

Questa funzione può anche restituire uno dei valori di errore restituiti dal metodo IPersistStorage::Save .

Commenti

La funzione helper OleSave gestisce la situazione comune in cui un oggetto è aperto in modalità transazionata e quindi deve essere salvato nell'oggetto di archiviazione specificato che usa l'implementazione del file composto fornito da OLE. La modalità transacted indica che le modifiche apportate all'oggetto vengono memorizzate nel buffer fino a quando non viene chiamato uno dei tipi IStorage::Commit o IStorage::Revert. I chiamanti possono gestire altre situazioni chiamando direttamente le interfacce IPersistStorage e IStorage .

OleSave esegue le operazioni seguenti:

Nota Gli oggetti statici vengono salvati in un flusso denominato CONTENTS. Gli oggetti metafile statici vengono salvati in "formato metafile posizionabile" e i dati DIB statici vengono salvati in "formato di file DIB". Questi formati sono definiti come standard OLE per metafile e DIB. Tutti i dati trasferiti usando un'interfaccia IStream o un file , ovvero tramite IDataObject::GetDataHere, devono trovarsi in questi formati. Inoltre, tutti gli oggetti il cui formato di file predefinito è un metafile o DIB devono scrivere i dati in un flusso CONTENTS usando questi formati standard.
 

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ole2.h
Libreria Ole32.lib
DLL Ole32.dll
Set di API ext-ms-win-com-ole32-l1-1-3 (introdotta in Windows 10, versione 10.0.10240)

Vedi anche

IPersistStorage

IStorage