Share via


Metodo IGlobalInterfaceTable::GetInterfaceFromGlobal (objidl.h)

Recupera un puntatore a un'interfaccia su un oggetto utilizzabile dall'appartamento chiamante. Questa interfaccia deve essere attualmente registrata nella tabella dell'interfaccia globale.

Sintassi

HRESULT GetInterfaceFromGlobal(
  [in]  DWORD  dwCookie,
  [in]  REFIID riid,
  [out] void   **ppv
);

Parametri

[in] dwCookie

Identifica l'interfaccia (e il relativo oggetto) e viene recuperata tramite una chiamata a IGlobalInterfaceTable::RegisterInterfaceInGlobal.

[in] riid

IID dell'interfaccia.

[out] ppv

Puntatore al puntatore per l'interfaccia richiesta.

Valore restituito

Questo metodo può restituire i valori seguenti.

Codice restituito Descrizione
S_OK
Metodo completato correttamente.
E_INVALIDARG
Uno o più parametri non sono validi.

Commenti

Dopo aver registrato un'interfaccia nella tabella dell'interfaccia globale, un appartamento può ottenere un puntatore a questa interfaccia chiamando il metodo GetInterfaceFromGlobal con il cookie fornito. Questo puntatore all'interfaccia può essere usato nell'appartamento chiamante ma non da altri appartamenti nel processo.

L'applicazione è responsabile del coordinamento dell'accesso alla variabile globale durante le chiamate a IGlobalInterfaceTable::RevokeInterfaceFromGlobal. Ovvero, l'applicazione deve assicurarsi che un thread non chiami RevokeInterfaceFromGlobal mentre un altro thread chiama GetInterfaceFromGlobal con lo stesso cookie. Sono consentite più chiamate a GetInterfaceFromGlobal per lo stesso cookie.

Il metodo GetInterfaceFromGlobal chiama AddRef sul puntatore ottenuto nel parametro ppv . È responsabilità del chiamante chiamare Release su questo puntatore.

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 objidl.h (include ObjIdl.h)

Vedi anche

IGlobalInterfaceTable