Интерфейс IGlobalInterfaceTable (objidl.h)
Позволяет любому объекту в процессе получить доступ к интерфейсу, реализуемому на объекте в любой другой квартире в процессе.
Наследование
Интерфейс IGlobalInterfaceTable наследуется от интерфейса IUnknown . IGlobalInterfaceTable также имеет следующие типы членов:
Методы
Интерфейс IGlobalInterfaceTable содержит следующие методы.
IGlobalInterfaceTable::GetInterfaceFromGlobal Извлекает указатель на интерфейс объекта, который может использовать вызывающая квартира. Этот интерфейс должен быть зарегистрирован в таблице глобального интерфейса. |
IGlobalInterfaceTable::RegisterInterfaceInGlobal Регистрирует указанный интерфейс на объекте, находясь в одной квартире процесса, в качестве глобального интерфейса, предоставляя другим квартирам доступ к такому интерфейсу. |
IGlobalInterfaceTable::RevokeInterfaceFromGlobal Отменяет регистрацию интерфейса в глобальной таблице интерфейсов. |
Комментарии
Интерфейс IGlobalInterfaceTable — это эффективный способ хранения указателя интерфейса в памяти, доступ к которому можно получить из нескольких объектов в рамках процесса, таких как переменные общего процесса и гибкие (маршалированные с помощью свободного потока) объекты, содержащие указатели интерфейса на другие объекты.
Гибкий объект не знает о базовой com-инфраструктуре, в которой он выполняется. Другими словами, в каком объекте, контексте и потоке он выполняется. Объект может содержать интерфейсы, относящиеся к конкретному объекту или контексту. По этой причине вызов этих интерфейсов из любой точки, где выполняется гибкий компонент, может не всегда работать должным образом. Таблица глобального интерфейса позволяет избежать этой проблемы, гарантируя использование допустимого прокси-сервера (или прямого указателя) на объект в зависимости от того, где выполняется объект Agile.
Таблица глобального интерфейса не переносится через границы процесса или компьютера, поэтому ее нельзя использовать вместо обычного механизма передачи параметров.
Требования
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | objidl.h |