Partager via


OleSave, fonction (ole2.h)

Enregistre un objet ouvert en mode transactionné dans l’objet de stockage spécifié.

Syntaxe

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

Paramètres

[in] pPS

Pointeur vers l’interface IPersistStorage sur l’objet à enregistrer.

[in] pStg

Pointeur vers l’interface IStorage sur l’objet de stockage de destination dans lequel l’objet indiqué dans pPS doit être enregistré.

[in] fSameAsLoad

TRUE indique que pStg est le même objet de stockage à partir duquel l’objet a été chargé ou créé ; FALSE indique que pStg a été chargé ou créé à partir d’un autre objet de stockage.

Valeur retournée

Cette fonction retourne S_OK en cas de réussite. Les autres valeurs possibles sont les suivantes.

Code de retour Description
STGMEDIUM_E_FULL
Impossible d’enregistrer l’objet en raison d’un manque d’espace disque.

Cette fonction peut également retourner n’importe quelle valeur d’erreur retournée par la méthode IPersistStorage ::Save .

Remarques

La fonction d’assistance OleSave gère la situation courante dans laquelle un objet est ouvert en mode transactionné et doit ensuite être enregistré dans l’objet de stockage spécifié qui utilise l’implémentation de fichier composé fourni par OLE. Le mode transactionné signifie que les modifications apportées à l’objet sont mises en mémoire tampon jusqu’à ce que l’un des IStorage ::Commit ou IStorage ::Revert soit appelé. Les appelants peuvent gérer d’autres situations en appelant directement les interfaces IPersistStorage et IStorage .

OleSave effectue les opérations suivantes :

Note Les objets statiques sont enregistrés dans un flux appelé CONTENTS. Les objets métafichiers statiques sont enregistrés au « format de métafichier placeable » et les données DIB statiques sont enregistrées au « format de fichier DIB ». Ces formats sont définis pour être les normes OLE pour le métafichier et DIB. Toutes les données transférées à l’aide d’une interface IStream ou d’un fichier ( c’est-à-dire via IDataObject ::GetDataHere) doivent être dans ces formats. En outre, tous les objets dont le format de fichier par défaut est un métafichier ou DIB doivent écrire leurs données dans un flux CONTENTS à l’aide de ces formats standard.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête ole2.h
Bibliothèque Ole32.lib
DLL Ole32.dll
Ensemble d’API ext-ms-win-com-ole32-l1-1-3 (introduit dans Windows 10, version 10.0.10240)

Voir aussi

IPersistStorage

IStorage