BindMoniker, fonction (objbase.h)

Localise un objet au moyen de son moniker, active l’objet s’il est inactif et récupère un pointeur vers l’interface spécifiée sur cet objet.

Syntaxe

HRESULT BindMoniker(
  [in]  LPMONIKER pmk,
  [in]  DWORD     grfOpt,
  [in]  REFIID    iidResult,
  [out] LPVOID    *ppvResult
);

Paramètres

[in] pmk

Pointeur vers le moniker de l’objet. Voir IMoniker.

[in] grfOpt

Ce paramètre est réservé à une utilisation ultérieure et doit être 0.

[in] iidResult

Identificateur d’interface à utiliser pour communiquer avec l’objet.

[out] ppvResult

Adresse de la variable pointeur qui reçoit le pointeur d’interface demandé dans iidResult. En cas de retour réussi, *ppvResult contient le pointeur d’interface demandé. Si une erreur se produit, *ppvResult a la valeur NULL. Si l’appel réussit, l’appelant est responsable de libérer le pointeur avec un appel à la méthode IUnknown ::Release de l’objet.

Valeur retournée

Cette fonction peut retourner les codes d’erreur suivants, ou l’une des valeurs d’erreur retournées par la méthode IMoniker ::BindToObject .

Code de retour Description
S_OK
L’objet a été localisé et activé, si nécessaire, et un pointeur vers l’interface demandée a été retourné.
MK_E_NOOBJECT
L’objet que l’objet moniker a identifié est introuvable.

Remarques

BindMoniker est une fonction d’assistance fournie comme un moyen pratique pour un client qui a le moniker d’un objet d’obtenir un pointeur vers l’une des interfaces de cet objet. BindMoniker package les appels suivants :

CreateBindCtx(0, &pbc); 
pmk->BindToObject(pbc, NULL, riid, ppvObj);

CreateBindCtx crée un objet de contexte de liaison qui prend en charge l’implémentation système d’IBindContext. Le paramètre pmk est en fait un pointeur vers l’implémentation IMoniker sur un objet moniker. La méthode BindToObject de cette implémentation fournit le pointeur vers le pointeur d’interface demandé.

Si vous avez plusieurs monikers à lier rapidement et si vous savez que ces monikers activent le même objet, il peut être plus efficace d’appeler directement la méthode IMoniker ::BindToObject , ce qui vous permet d’utiliser le même objet de contexte de liaison pour tous les monikers. Pour plus d’informations, consultez l’interface IBindCtx .

Les applications conteneur qui permettent à leurs documents de contenir des objets liés sont un client spécial qui n’effectue généralement pas d’appels directs aux méthodes IMoniker . Au lieu de cela, le client manipule les objets liés via l’interface IOleLink . Le gestionnaire par défaut implémente cette interface et appelle les méthodes IMoniker appropriées si nécessaire.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête objbase.h
Bibliothèque Ole32.lib
DLL Ole32.dll
Ensemble d’API ext-ms-win-com-ole32-l1-1-5 (introduit dans Windows 10, version 10.0.15063)

Voir aussi

CreateBindCtx

IMoniker ::BindToObject