Share via


IPersistFile ::Save, méthode (objidl.h)

Enregistre une copie de l’objet dans le fichier spécifié.

Syntaxe

HRESULT Save(
  [in] LPCOLESTR pszFileName,
  [in] BOOL      fRemember
);

Paramètres

[in] pszFileName

Chemin absolu du fichier dans lequel l’objet doit être enregistré. Si pszFileName a la valeur NULL, l’objet doit enregistrer ses données dans le fichier actuel, le cas échéant.

[in] fRemember

Indique si le paramètre pszFileName doit être utilisé comme fichier de travail actuel. Si la valeur est TRUE, pszFileName devient le fichier actif et l’objet doit effacer son indicateur sale après l’enregistrement. Si la valeur est FALSE, cette opération d’enregistrement est une opération Enregistrer une copie sous ... . Dans ce cas, le fichier actuel est inchangé et l’objet ne doit pas effacer son indicateur sale. Si pszFileName a la valeur NULL, l’implémentation doit ignorer l’indicateur fRemember .

Valeur retournée

Si l’objet a été correctement enregistré, la valeur de retour est S_OK. Sinon, c’est S_FALSE. Cette méthode peut également retourner diverses erreurs de stockage.

Remarques

Cette méthode peut être appelée pour enregistrer un objet dans le fichier spécifié de l’une des trois manières suivantes :

L’implémenteur doit détecter le type d’opération d’enregistrement demandé par l’appelant. Si le paramètre pszFileName a la valeur NULL, un objet Save est demandé. Si le paramètre pszFileName n’est pas NULL, utilisez la valeur du paramètre fRemember pour faire la distinction entre un Enregistrer sous et un Enregistrer une copie sous.

Dans les opérations Enregistrer ou Enregistrer sous, IPersistFile ::Save efface l’indicateur de sale interne après l’enregistrement et envoie des notifications IAdviseSink ::OnSave à toutes les connexions de conseil (voir également IOleAdviseHolder ::SendOnSave). En outre, dans ces opérations, l’objet est en mode NoScribble jusqu’à ce qu’il reçoive un appel IPersistFile ::SaveCompleted . En mode NoScribble, l’objet ne doit pas écrire dans le fichier.

Dans le scénario Enregistrer sous , l’implémentation doit également envoyer des notifications IAdviseSink ::OnRename à toutes les connexions d’avis (voir également IOleAdviseHolder ::SendOnRename).

Dans le scénario Enregistrer une copie sous, l’implémentation n’efface pas l’indicateur de sale interne après l’enregistrement.

Remarques aux appelants

OLE n’appelle pas IPersistFile ::Save. En règle générale, les applications ne l’appellent pas, sauf si elles enregistrent directement un objet dans un fichier, qui est généralement laissé à l’utilisateur final.

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

Voir aussi

IPersistFile