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 |
---|---|
|
L’objet a été localisé et activé, si nécessaire, et un pointeur vers l’interface demandée a été retourné. |
|
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) |