IOleObject ::Close, méthode (oleidl.h)
Change un objet incorporé de l’en cours d’exécution à l’état chargé. Déconnecte un objet lié de sa source de lien.
Syntaxe
HRESULT Close(
[in] DWORD dwSaveOption
);
Paramètres
[in] dwSaveOption
Indique si l’objet doit être enregistré dans le cadre de la transition à l’état chargé. Les valeurs valides sont extraites de l’énumération OLECLOSE.
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’utilisateur a été invité à enregistrer, mais a choisi le bouton Annuler dans la zone de message d’invite. |
Remarques
Notes aux appelants
Une application conteneur appelle IOleObject ::Close lorsqu’elle souhaite déplacer l’objet d’un état en cours d’exécution vers un état chargé. Après un tel appel, l’objet apparaît toujours dans son conteneur, mais n’est pas ouvert pour modification. L’appel de IOleObject ::Fermer sur un objet qui est chargé mais qui n’est pas en cours d’exécution n’a aucun effet. La fermeture d’un objet lié signifie simplement le déconnecter.Notes aux implémenteurs
Lors de la réception d’un appel à IOleObject ::Close, un objet en cours d’exécution doit effectuer les opérations suivantes :- Si l’objet a été modifié depuis sa dernière ouverture pour modification, il doit demander à être enregistré, ou non, conformément aux instructions spécifiées dans dwSaveOption. Si l’option consiste à enregistrer l’objet, elle doit appeler l’interface IOleClientSite ::SaveObject de son conteneur.
- Si l’objet a des connexions IDataObject ::D Advise avec des indicateurs ADVF_DATAONSTOP, il doit envoyer une notification IAdviseSink ::OnDataChange . Pour plus d’informations, consultez IDataObject ::D Advise .
- Si l’objet est actuellement propriétaire du Presse-papiers, il doit le vider en appelant OleFlushClipboard.
- Si l’objet est actuellement visible, informez son conteneur en appelant IOleClientSite ::OnShowWindow avec l’argument fshow défini sur FALSE.
- Envoyez des notifications IAdviseSink ::OnClose aux récepteurs conseillés appropriés.
- Enfin, coupez de force tous les clients de communication à distance en appelant CoDisconnectObject.
L’appel de IOleObject ::Close sur un objet lié le déconnecte de son application source, mais ne l’arrête pas. Une application source visible par l’utilisateur lorsque l’objet est fermé reste visible et en cours d’exécution après la déconnexion et n’envoie pas de notification IAdviseSink ::OnClose au conteneur de liens.
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 | oleidl.h |