IOleObject ::SetClientSite, méthode (oleidl.h)

Informe un objet incorporé de son emplacement d’affichage, appelé « site client », dans son conteneur.

Syntaxe

HRESULT SetClientSite(
  [in] IOleClientSite *pClientSite
);

Paramètres

[in] pClientSite

Pointeur vers l’interface IOleClientSite sur le site client de l’application conteneur.

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_UNEXPECTED
Une erreur inattendue s’est produite.

Remarques

Dans un document composé, chaque objet incorporé a son propre site client : l’endroit où il est affiché et par le biais duquel il reçoit des informations sur son stockage, son interface utilisateur et d’autres ressources. IOleObject ::SetClientSite est la seule méthode permettant à un objet incorporé d’obtenir un pointeur vers son site client.

Remarques aux appelants

Un conteneur peut notifier un objet de son site client au moment de la création de l’objet ou, par la suite, lors de l’initialisation de l’objet.

Lors de la création ou du chargement d’un objet, un conteneur peut passer un pointeur client-site (avec d’autres arguments) à l’une des fonctions d’assistance suivantes : OleCreate, OleCreateFromFile, OleCreateFromData ou OleLoad. Ces fonctions d’assistance chargent un gestionnaire d’objets pour le nouvel objet et appellent IOleObject ::SetClientSite au nom du conteneur avant de retourner un pointeur vers le nouvel objet.

La transmission d’un pointeur client-site informe le gestionnaire d’objets que le site client est prêt à traiter les demandes. S’il est peu probable que le site client soit prêt immédiatement après le chargement du gestionnaire, vous souhaiterez peut-être que votre conteneur passe un pointeur client-site NULL à la fonction d’assistance. Le pointeur NULL indique qu’aucun site client n’est disponible et diffère ainsi la notification du gestionnaire d’objets du site client jusqu’à ce que l’objet soit initialisé. En réponse, la fonction d’assistance retourne un pointeur vers l’objet, mais lors de la réception de ce pointeur, le conteneur doit appeler IOleObject ::SetClientSite dans le cadre de l’initialisation du nouvel objet.

Remarques aux implémenteurs

L’implémentation consiste simplement à incrémenter le nombre de références sur et à stocker le pointeur vers le site client.

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

IOleClientSite

IOleObject

IOleObject ::GetClientSite

OleCreate

OleCreateFromData

OleCreateFromFile

OleLoad