IOleParentUndoUnit ::Close, méthode (ocidl.h)
Ferme l'unité d'annulation parente spécifiée.
Syntaxe
HRESULT Close(
[in] IOleParentUndoUnit *pPUU,
[in] BOOL fCommit
);
Paramètres
[in] pPUU
Pointeur IOleParentUndoUnit vers l’unité parente actuellement ouverte à fermer.
[in] fCommit
Indique s’il faut conserver ou ignorer l’unité. Si la valeur est TRUE, l’unité est conservée dans la collection. Si la valeur est FALSE, l’unité est ignorée. Ce paramètre permet au client d’ignorer une unité d’annulation en cours de construction en cas d’erreur ou d’annulation.
Valeur retournée
Cette méthode retourne S_OK en cas de réussite. Les autres valeurs de retour possibles sont les suivantes.
Code de retour | Description |
---|---|
|
L’unité d’annulation parente n’avait pas d’enfant ouvert et elle a été fermée avec succès. |
|
Si pPUU ne correspond pas à l’unité d’annulation parente actuellement ouverte, les implémentations de cette méthode doivent retourner E_INVALIDARG sans modifier d’état interne, sauf si l’unité parente est bloquée. |
Remarques
Une unité d’annulation parente sait qu’elle est fermée lorsqu’elle retourne S_FALSE de cette méthode. À ce moment-là, il doit mettre fin à toute communication avec d’autres objets qui lui donnent des données par le biais d’interfaces privées.
Notes aux appelants
Un retour d’erreur indique une condition d’erreur irrécupérable.L’unité parente ou le gestionnaire d’annulation doit accepter l’unité d’annulation si fCommit a la valeur TRUE.
Notes aux implémenteurs
Pour traiter une demande de fermeture, une unité d’annulation parente vérifie d’abord si elle a une unité enfant ouverte. Si ce n’est pas le cas, il retourne S_FALSE.Si une unité enfant est ouverte, elle appelle la méthode IOleParentUndoUnit ::Close sur l’enfant. Si l’enfant retourne S_FALSE, l’unité d’annulation parente vérifie que pPUU pointe vers l’unité enfant et ferme cette unité d’annulation enfant. Si l’enfant retourne S_OK alors il a géré la fermeture en interne et son parent ne doit rien faire.
Si l’unité parente est bloquée, elle doit case activée le paramètre pPUU pour déterminer le code de retour approprié. Si pPUU pointe vers lui-même, il doit retourner S_FALSE.
Dans le cas contraire, il doit retourner S_OK ; le paramètre fCommit est ignoré ; et aucune action n’est prise.
Si pPUU ne correspond pas à l’unité d’annulation parente actuellement ouverte, les implémentations de cette méthode doivent retourner E_INVALIDARG sans modifier l’état interne. La seule exception à cela est si l’unité est bloquée.
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 | ocidl.h |