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 |
---|---|
|
L'oggetto è stato individuato e attivato, se necessario, e è stato restituito un puntatore all'interfaccia richiesta. |
|
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) |