Partager via


Méthode IPersistStorage ::SaveCompleted (objidl.h)

Avertit l’objet qu’il peut écrire dans son objet de stockage. Pour ce faire, il avertit l’objet qu’il peut revenir du mode NoScribble (dans lequel il ne doit pas écrire dans son objet de stockage) au mode Normal (dans lequel il peut). L’objet passe en mode NoScribble lorsqu’il reçoit un appel IPersistStorage ::Save .

Syntaxe

HRESULT SaveCompleted(
  [in] IStorage *pStgNew
);

Paramètres

[in] pStgNew

Pointeur IStorage vers le nouvel objet de stockage, s’il est différent de l’objet de stockage avant l’enregistrement. Ce pointeur peut avoir la valeur NULL si l’objet de stockage actuel ne change pas pendant l’opération d’enregistrement. Si l’objet est en mode HandsOff, ce paramètre doit être non NULL.

Valeur retournée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_OUTOFMEMORY
L’objet est resté en mode HandsOff ou NoScribble en raison d’un manque de mémoire. En règle générale, cette erreur se produit lorsque l’objet n’est pas en mesure d’ouvrir les flux et objets de stockage nécessaires dans pStgNew.
E_INVALIDARG
Le paramètre pStgNew n’est pas valide. En règle générale, cette erreur se produit si pStgNew a la valeur NULL lorsque l’objet est en mode HandsOff.
E_UNEXPECTED
L’objet est en mode Normal et il n’y a pas eu d’appel précédent à IPersistStorage ::Save ou IPersistStorage ::HandsOffStorage.

Remarques

Cette méthode avertit un objet qu’il peut revenir en mode Normal et qu’il peut à nouveau écrire dans son objet de stockage. L’objet quitte le mode NoScribble ou Le mode HandsOff.

Si l’objet est rétabli en mode HandsOff, le paramètre pStgNew doit être non NULL. En mode HandsOffFromNormal, ce paramètre est le nouvel objet de stockage qui remplace celui qui a été révoqué par la méthode IPersistStorage ::HandsOffStorage . Les données de l’objet de stockage sont une copie des données de l’objet de stockage révoqué. En mode HandsOffAfterSave, les données sont identiques aux données qui ont été enregistrées récemment. Il n’est pas identique aux données de l’objet de stockage révoqué.

Si l’objet rétablit le mode NoScribble, le paramètre pStgNew peut être NULL ou non NULL. Si la valeur est NULL, l’objet a à nouveau accès à son objet de stockage. S’il n’est pas NULL, l’objet de composant doit simuler la réception d’un appel à sa méthode HandsOffStorage . Si l’objet de composant ne peut pas simuler cet appel, son conteneur doit être prêt à appeler la méthode HandsOffStorage .

Cette méthode doit appeler de manière récursive tous les objets imbriqués chargés ou en cours d’exécution.

Si cette méthode retourne un code d’erreur, l’objet n’est pas retourné en mode Normal. Ainsi, l’objet conteneur peut tenter différentes stratégies d’enregistrement.

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

IPersistStorage