Partager via


Méthode IOleCacheControl ::OnRun (oleidl.h)

Avertit le cache que l’objet de source de données est entré dans l’état d’exécution afin que l’objet de cache puisse établir des récepteurs en fonction des besoins.

Syntaxe

HRESULT OnRun(
  [in] LPDATAOBJECT pDataObject
);

Paramètres

[in] pDataObject

Pointeur vers l’interface IDataObject sur l’objet qui entre dans l’état d’exécution.

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
E_INVALIDARG
L’un des arguments n’est pas valide.
E_UNEXPECTED
Une erreur inattendue s’est produite.
E_OUTOFMEMORY
La mémoire disponible est insuffisante pour cette opération.

Remarques

Quand OnRun est appelé, le cache configure les connexions de conseil en fonction des besoins avec l’objet de données source afin qu’il puisse recevoir des notifications. La connexion de conseil créée entre l’objet en cours d’exécution et le cache est détruite lorsque IOleCacheControl ::OnStop est appelé.

Certains gestionnaires d’objets ou serveurs in-process peuvent utiliser le cache de manière passive et ne pas appeler OnRun. Ces applications doivent appeler IOleCache2 ::UpdateCache, IOleCache ::InitCache ou IOleCache ::SetData pour remplir le cache si nécessaire afin de s’assurer que le cache est mis à jour.

OnRun n’ajoute pas de nombre de références sur le pointeur vers IDataObject passé dans pDataObject. Étant donné qu’il incombe à l’appelant d’OleRun de s’assurer que la durée de vie du pointeur pDataObject dure jusqu’à l’appel de OnStop , l’appelant doit conserver un pointeur vers IDataObject sur l’objet de données qui vous intéresse.

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

Voir aussi

IOleCache2 ::UpdateCache

IOleCacheControl

IOleCacheControl ::Onstop