Partager via


Méthode IRunnableObject ::SetContainedObject (objidl.h)

Avertit un objet qu’il est incorporé dans un conteneur OLE, ce qui garantit que le comptage des références est effectué correctement pour les conteneurs qui prennent en charge les liens vers des objets incorporés.

Syntaxe

HRESULT SetContainedObject(
  [in] BOOL fContained
);

Paramètres

[in] fContained

TRUE spécifie que l’objet est contenu dans un conteneur OLE. FALSE indique qu’il ne l’est pas.

Valeur retournée

Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED et S_OK.

Remarques

La méthode SetContainedObject permet à un conteneur d’informer un gestionnaire d’objets qu’il est incorporé dans le conteneur, au lieu d’agir comme un lien. Cet appel change la référence du conteneur sur l’objet de strong (valeur par défaut pour les connexions externes) à faible. Lorsque l’objet s’exécute de manière visible, cette méthode a peu d’importance, car l’utilisateur final dispose d’un verrou sur l’objet. Toutefois, lors d’une mise à jour silencieuse d’une source de lien incorporée, le conteneur ne doit pas être en mesure de contenir un objet à l’état en cours d’exécution une fois que le lien a été interrompu. Pour cette raison, la référence du conteneur à l’objet doit être faible.

Remarques aux appelants

Une application conteneur doit appeler SetContainedObject si elle prend en charge la liaison à des objets incorporés. Il effectue normalement l’appel immédiatement après avoir appelé OleLoad ou OleCreate et n’appelle plus jamais la méthode, même avant sa fermeture. En outre, un conteneur appelle presque toujours cette méthode avec fContained défini sur TRUE. L’utilisation de cette méthode avec fContained défini sur FALSE est rare.

L’appel de SetContainedObject n’est facultatif que lorsque vous savez que l’objet incorporé ne sera référencé par aucun client autre que le conteneur. Si votre application conteneur ne prend pas en charge la liaison à des objets incorporés ; il est préférable, mais pas nécessaire, d’appeler SetContainedObject.

OleSetContainedObject est une fonction d’assistance qui réemballe commodément les fonctionnalités offertes par SetContainedObject. Avec la publication d’OLE 2.01, l’implémentation d’OleSetContainedObject a été modifiée pour appeler QueryInterface, demander IRunnableObject, puis appeler IRunnableObject ::SetContainedObject. En d’autres termes, vous pouvez utiliser l’interface et la fonction d’assistance de manière interchangeable.

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

IRunnableObject

OleSetContainedObject