IRunningObjectTable ::GetObject, méthode (objidl.h)
Détermine si l’objet identifié par le moniker spécifié est en cours d’exécution et, le cas échéant, récupère un pointeur vers cet objet.
Syntaxe
HRESULT GetObject(
[in] IMoniker *pmkObjectName,
[out] IUnknown **ppunkObject
);
Paramètres
[in] pmkObjectName
Pointeur vers l’interface IMoniker sur le moniker.
[out] ppunkObject
Pointeur vers une variable de pointeur IUnknown qui reçoit le pointeur d’interface vers l’objet en cours d’exécution. En cas de réussite, l’implémentation appelle AddRef sur l’objet ; il incombe à l’appelant d’appeler Release. Si l’objet n’est pas en cours d’exécution ou si une erreur se produit, l’implémentation affecte à *ppunkObject la valeur NULL.
Valeur retournée
Cette méthode peut retourner les valeurs suivantes.
Code de retour | Description |
---|---|
|
Indique que pmkObjectName a été trouvé dans le ROT et qu’un pointeur a été récupéré. |
|
Il n’existe aucune entrée pour pmkObjectName dans le ROT, ou que l’objet qu’il identifie n’est plus en cours d’exécution (auquel cas, l’entrée est révoquée). |
Remarques
Cette méthode vérifie la valeur ROT pour le moniker spécifié par pmkObjectName. Si ce moniker avait déjà été inscrit avec un appel à IRunningObjectTable ::Register, cette méthode retourne le pointeur qui a été inscrit à ce moment-là.
Remarques aux appelants
En règle générale, vous appelez la méthode IRunningObjectTable ::GetObject uniquement si vous écrivez votre propre classe moniker (c’est-à-dire, implémentant l’interface IMoniker ). Vous appelez généralement cette méthode à partir de votre implémentation de IMoniker ::BindToObject.Toutefois, notez que toutes les implémentations de IMoniker ::BindToObject ne doivent pas appeler cette méthode. Si vous vous attendez à ce que votre moniker ait un préfixe (indiqué par un paramètre pmkToLeft non NULL pour IMoniker ::BindToObject), vous ne devez pas case activée le ROT. La raison en est que seuls les monikers complets sont enregistrés avec le ROT, et si votre moniker a un préfixe, votre moniker fait partie d’un composite et n’est donc pas complet. Au lieu de cela, votre moniker doit demander des services à partir de l’objet identifié par le préfixe (par exemple, le conteneur de l’objet identifié par votre moniker).
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 |