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 |
---|---|
|
Metodo completato correttamente. |
|
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) |