Condividi tramite


Funzione BindMoniker (objbase.h)

Individua un oggetto tramite il relativo moniker, attiva l'oggetto se è inattivo e recupera un puntatore all'interfaccia specificata su tale oggetto.

Sintassi

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

Parametri

[in] pmk

Puntatore al moniker dell'oggetto. Vedi IMoniker.

[in] grfOpt

Questo parametro è riservato per uso futuro e deve essere 0.

[in] iidResult

Identificatore di interfaccia da utilizzare per comunicare con l'oggetto .

[out] ppvResult

Indirizzo della variabile del puntatore che riceve il puntatore di interfaccia richiesto in iidResult. Al termine della restituzione, *ppvResult contiene il puntatore all'interfaccia richiesto. Se si verifica un errore, *ppvResult è NULL. Se la chiamata ha esito positivo, il chiamante è responsabile del rilascio del puntatore con una chiamata al metodo IUnknown::Release dell'oggetto.

Valore restituito

Questa funzione può restituire i codici di errore seguenti o uno dei valori di errore restituiti dal metodo IMoniker::BindToObject .

Codice restituito Descrizione
S_OK
L'oggetto è stato individuato e attivato, se necessario, e è stato restituito un puntatore all'interfaccia richiesta.
MK_E_NOOBJECT
Impossibile trovare l'oggetto moniker identificato.

Commenti

BindMoniker è una funzione helper fornita come un modo pratico per un client che ha il moniker di un oggetto per ottenere un puntatore a una delle interfacce di tale oggetto. BindMoniker inserisce le chiamate seguenti:

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

CreateBindCtx crea un oggetto contesto di associazione che supporta l'implementazione di sistema di IBindContext. Il parametro pmk è in realtà un puntatore all'implementazione di IMoniker in un oggetto moniker. Questo metodo BindToObject dell'implementazione fornisce il puntatore al puntatore di interfaccia richiesto.

Se si dispone di diversi moniker da associare in rapida successione e se si sa che tali moniker attiveranno lo stesso oggetto, potrebbe essere più efficiente chiamare direttamente il metodo IMoniker::BindToObject , che consente di usare lo stesso oggetto di contesto di associazione per tutti i moniker. Per altre informazioni, vedere l'interfaccia IBindCtx .

Le applicazioni contenitore che consentono ai documenti di contenere oggetti collegati sono un client speciale che in genere non effettua chiamate dirette ai metodi IMoniker . Al contrario, il client modifica gli oggetti collegati tramite l'interfaccia IOleLink . Il gestore predefinito implementa questa interfaccia e chiama i metodi IMoniker appropriati in base alle esigenze.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione objbase.h
Libreria Ole32.lib
DLL Ole32.dll
Set di API ext-ms-win-com-ole32-l1-1-5 (introdotto in Windows 10, versione 10.0.15063)

Vedi anche

CreateBindCtx

IMoniker::BindToObject