Partager via


IPersistStreamInit::Save, méthode (ocidl.h)

Enregistre un objet dans le flux spécifié.

Syntaxe

HRESULT Save(
  [in] LPSTREAM pStm,
  [in] BOOL     fClearDirty
);

Paramètres

[in] pStm

Pointeur IStream vers le flux dans lequel l’objet doit être enregistré.

[in] fClearDirty

Indique s'il faut effacer l'indicateur de changement à la fin de l'enregistrement. Si la valeur est TRUE, l’indicateur doit être effacé. Si la valeur est FALSE, l’indicateur doit rester inchangé.

Valeur retournée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
STG_E_CANTSAVE
L’objet n’a pas pu s’enregistrer dans le flux. Cette erreur peut indiquer, par exemple, que l’objet contient un autre objet qui n’est pas sérialisable dans un flux ou qu’un appel ISequentialStream::Write a retourné STG_E_CANTSAVE.
STG_E_MEDIUMFULL
Impossible d’enregistrer l’objet, car il ne reste plus d’espace sur le périphérique de stockage.

Notes

IPersistStreamInit::Save enregistre un objet dans le flux spécifié et indique si l’objet doit réinitialiser son indicateur de sale.

Le pointeur de recherche est positionné à l’emplacement dans le flux où l’objet doit commencer à écrire ses données. L’objet appelle la méthode ISequentialStream::Write pour écrire ses données.

À la sortie, le pointeur de recherche doit être positionné immédiatement après les données de l’objet. La position du pointeur de recherche n’est pas définie si une erreur se retourne.

Notes aux implémenteurs

La méthode IPersistStreamInit::Save n’écrit pas le CLSID dans le flux. L’appelant est responsable de l’écriture du CLSID.

La méthode IPersistStreamInit::Save peut lire à partir de, écrire dans et rechercher dans le flux ; mais il ne doit pas rechercher un emplacement dans le flux avant celui du pointeur de recherche à l’entrée.

Spécifications

   
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 ocidl.h

Voir aussi

IPersistStreamInit