Interfaccia IGlobalInterfaceTable (objidl.h)
Consente a qualsiasi appartamento in un processo di ottenere l'accesso a un'interfaccia implementata su un oggetto in qualsiasi altro appartamento del processo.
Ereditarietà
L'interfaccia IGlobalInterfaceTable eredita dall'interfaccia IUnknown . IGlobalInterfaceTable include anche questi tipi di membri:
Metodi
L'interfaccia IGlobalInterfaceTable include questi metodi.
IGlobalInterfaceTable::GetInterfaceFromGlobal Recupera un puntatore a un'interfaccia su un oggetto utilizzabile dall'apartment chiamante. Questa interfaccia deve essere attualmente registrata nella tabella dell'interfaccia globale. |
IGlobalInterfaceTable::RegisterInterfaceInGlobal Registra l'interfaccia specificata su un oggetto che risiede in un appartamento di un processo come interfaccia globale, consentendo ad altri appartamenti di accedere a tale interfaccia. |
IGlobalInterfaceTable::RevokeInterfaceFromGlobal Revoca la registrazione di un'interfaccia nella tabella dell'interfaccia globale. |
Commenti
L'interfaccia IGlobalInterfaceTable è un modo efficiente per un processo di archiviare un puntatore di interfaccia in una posizione di memoria accessibile da più appartamenti all'interno del processo, ad esempio variabili a livello di processo e oggetti agile (marshalling a thread libero) contenenti puntatori di interfaccia ad altri oggetti.
Un oggetto Agile non è a conoscenza dell'infrastruttura COM sottostante in cui viene eseguita, ovvero l'apartment, il contesto e il thread su cui è in esecuzione. L'oggetto può contenere le interfacce specifiche di un apartment o di un contesto. Per questo motivo, la chiamata di queste interfacce da qualsiasi posizione in cui viene eseguito il componente Agile potrebbe non funzionare sempre correttamente. La tabella dell'interfaccia globale evita questo problema garantendo che venga usato un proxy valido (o puntatore diretto) all'oggetto, in base alla posizione in cui è in esecuzione l'oggetto Agile.
La tabella dell'interfaccia globale non è portabile attraverso i limiti del processo o del computer, pertanto non può essere usata al posto del normale meccanismo di passaggio dei parametri.
Requisiti
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 |