Поделиться через


Метод IGlobalInterfaceTable::RegisterInterfaceInGlobal (objidl.h)

Регистрирует указанный интерфейс на объекте, находясь в одной квартире процесса, в качестве глобального интерфейса, предоставляя другим квартирам доступ к такому интерфейсу.

Синтаксис

HRESULT RegisterInterfaceInGlobal(
  [in]  IUnknown *pUnk,
  [in]  REFIID   riid,
  [out] DWORD    *pdwCookie
);

Параметры

[in] pUnk

Указатель интерфейса типа riid на объект, в котором реализуется интерфейс, который должен быть зарегистрирован как глобальный.

[in] riid

Идентификатор IID интерфейса, регистрируемый как глобальный.

[out] pdwCookie

Идентификатор, который может использоваться другим подразделением для получения доступа к указателю на регистрируемого интерфейса. Значение недопустимого файла cookie равно 0.

Возвращаемое значение

Этот метод может возвращать следующие значения.

Код возврата Описание
S_OK
Метод завершился успешно.
E_INVALIDARG
Один или несколько параметров являются недопустимыми.

Комментарии

Вызывается в квартире, в которой находится объект для регистрации одного из интерфейсов объекта в качестве глобального интерфейса. Этот метод предоставляет указатель на файл cookie, который другие квартиры могут использовать в вызове метода GetInterfaceFromGlobal для получения указателя на этот интерфейс.

Указатель интерфейса может быть указателем на внутрипроцессный объект или указатель на прокси-сервер для объекта, который находится в другом объекте, в другом процессе или на другом компьютере.

Объект, вызывающий этот метод, должен оставаться активным до соответствующего вызова RevokeInterfaceFromGlobal.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header objidl.h (включая ObjIdl.h)

См. также раздел

IGlobalInterfaceTable