IPersistStream::Save, méthode (objidl.h)
Enregistre un objet dans le flux spécifié.
Syntaxe
HRESULT Save(
[in] IStream *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 |
---|---|
|
La commande s'est correctement terminée. |
|
L’objet n’a pas pu s’enregistrer lui-même 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. |
|
Impossible d’enregistrer l’objet, car il n’y a plus d’espace sur le périphérique de stockage. |
Notes
IPersistStream::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.
Lors de 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 est retournée.
Remarques aux appelants
Au lieu d’appeler IPersistStream::Save directement, vous appelez généralement la fonction d’assistance OleSaveToStream qui effectue les opérations suivantes :- Appelle GetClassID pour obtenir le CLSID de l’objet.
- Appelle la fonction WriteClassStm pour écrire le CLSID de l’objet dans le flux.
- Appelle IPersistStream::Save.
L’implémentation fournie par OLE d’IPersistStream suit ce même modèle.
Remarques aux implémenteurs
La méthode IPersistStream::Save n’écrit pas le CLSID dans le flux. L’appelant est responsable de l’écriture du CLSID.La méthode IPersistStream::Save peut lire, écrire et rechercher dans le flux ; mais il ne doit pas rechercher un emplacement dans le flux avant celui du pointeur de recherche lors de l’entrée.
Remarques sur le moniker d’URL
Enregistre un moniker d’URL dans un flux. Le format binaire du moniker d’URL est sa chaîne d’URL en Unicode (il peut s’agir d’une chaîne d’URL complète ou partielle, voir CreateURLMonikerEx pour plus d’informations). Il s’agit d’un nombre ULONG de caractères suivi de ce nombre de caractères Unicode.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 | objidl.h |