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


Функция RoRegisterActivationFactories (roapi.h)

Регистрирует фабрики внепроцессной активации массива для среда выполнения Windows exe-сервера.

Синтаксис

HRESULT RoRegisterActivationFactories(
  [in]  HSTRING                 *activatableClassIds,
  [in]  PFNGETACTIVATIONFACTORY *activationFactoryCallbacks,
  [in]  UINT32                  count,
  [out] RO_REGISTRATION_COOKIE  *cookie
);

Параметры

[in] activatableClassIds

Тип: HSTRING*

Массив идентификаторов классов, связанных с активируемыми классами среды выполнения.

[in] activationFactoryCallbacks

Тип: PFNGETACTIVATIONFACTORY*

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

[in] count

Тип: UINT32

Количество элементов в массивах activationableClassIds и activationFactoryCallbacks .

[out] cookie

Тип: RO_REGISTRATION_COOKIE*

Файл cookie, который идентифицирует зарегистрированные фабрики.

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

Тип: HRESULT

Эта функция может возвращать одно из этих значений.

Код возврата Описание
S_OK
Фабрика активации успешно зарегистрирована.
E_POINTER
файл cookie имеет значение NULL.
CO_E_NOT_SUPPORTED
Поток находится в нейтральной квартире.
CO_E_NOTINITIALIZED
Поток не инициализирован в среда выполнения Windows путем вызова функции RoInitialize.
CO_E_ALREADYINITIALIZED
Фабрика уже инициализирована.
REGDB_E_CLASSNOTREG
Класс не зарегистрирован как OutOfProc.

Комментарии

Функция RoRegisterActivationFactories позволяет exe-серверу регистрировать несколько фабрик активации без возникновения состояния гонки.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header roapi.h
Библиотека RuntimeObject.lib
DLL ComBase.dll

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

RO_REGISTRATION_COOKIE

RoInitialize