ActivationFactory - класс
Позволяет одному или нескольким классам быть активированными средой выполнения Windows.
Синтаксис
template <
typename I0 = Details::Nil,
typename I1 = Details::Nil,
typename I2 = Details::Nil
>
class ActivationFactory :
public Details::RuntimeClass<
typename Details::InterfaceListHelper<
IActivationFactory,
I0,
I1,
I2,
Details::Nil
>::TypeT,
RuntimeClassFlags<WinRt | InhibitWeakReference>,
false
>;
Параметры
I0
Интерфейс нуля.
I1
Первый интерфейс.
I2
Второй интерфейс.
Замечания
ActivationFactory
предоставляет методы регистрации и основные функциональные IActivationFactory
возможности интерфейса. ActivationFactory
также позволяет предоставить пользовательскую реализацию фабрики.
В следующем фрагменте кода показано, как использовать ActivationFactory.
struct MyClassFactory : public ActivationFactory<IMyAddtionalInterfaceOnFactory>
{
STDMETHOD(ActivateInstance) (_Outptr_result_nullonfailure_ IInspectable** ppvObject)
{
// my custom implementation
return S_OK;
}
};
ActivatableClassWithFactory(MyClass, MyClassFactory);
// or if a default factory is used:
//ActivatableClassWithFactory(MyClass, SimpleActivationFactory);
В следующем фрагменте кода показано, как использовать структуру Реализации для указания более трех идентификаторов интерфейса.
struct MyFactory : ActivationFactory<Implements<I1, I2, I3>, I4, I5>;
Участники
Открытые конструкторы
Имя | Описание |
---|---|
ActivationFactory::ActivationFactory | Инициализирует ActivationFactory класс. |
Открытые методы
Имя | Описание |
---|---|
ActivationFactory::AddRef | Увеличивает число ссылок текущего ActivationFactory объекта. |
ActivationFactory::GetIids | Извлекает массив идентификаторов реализованного интерфейса. |
ActivationFactory::GetRuntimeClassName | Возвращает имя класса среды выполнения объекта, который создает текущий ActivationFactory экземпляр. |
ActivationFactory::GetTrustLevel | Возвращает уровень доверия объекта, который создает текущий ActivationFactory экземпляр. |
ActivationFactory::QueryInterface | Извлекает указатель на указанный интерфейс. |
ActivationFactory::Release | Уменьшает количество ссылок текущего ActivationFactory объекта. |
Иерархия наследования
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ActivationFactory
Требования
Заголовок: module.h
Пространство имен: Microsoft::WRL
ActivationFactory::ActivationFactory
Инициализирует ActivationFactory
класс.
ActivationFactory();
ActivationFactory::AddRef
Увеличивает число ссылок текущего ActivationFactory
объекта.
STDMETHOD_(
ULONG,
AddRef
)();
Возвращаемое значение
Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, описывающее тип сбоя.
ActivationFactory::GetIids
Извлекает массив идентификаторов реализованного интерфейса.
STDMETHOD(
GetIids
)(_Out_ ULONG *iidCount, _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
Параметры
iidCount
По завершении этой операции число идентификаторов интерфейса в массиве iids .
iids
После завершения операции представляет массив идентификаторов реализованного интерфейса.
Возвращаемое значение
Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, описывающее тип сбоя. E_OUTOFMEMORY является возможной ошибкой HRESULT.
ActivationFactory::GetRuntimeClassName
Возвращает имя класса среды выполнения объекта, который создает текущий ActivationFactory
экземпляр.
STDMETHOD(
GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);
Параметры
runtimeName
После завершения этой операции дескриптор строки, содержащей имя класса среды выполнения объекта, который создает текущий ActivationFactory
экземпляр.
Возвращаемое значение
Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, описывающее тип сбоя.
ActivationFactory::GetTrustLevel
Возвращает уровень доверия объекта, который создает текущий ActivationFactory
экземпляр.
STDMETHOD(
GetTrustLevel
)(_Out_ TrustLevel* trustLvl);
Параметры
trustLvl
После завершения этой операции уровень доверия класса среды выполнения, который ActivationFactory
создает экземпляр.
Возвращаемое значение
S_OK в случае успешного выполнения; в противном случае возникает ошибка утверждения, а для trustLvl задано значение FullTrust
.
ActivationFactory::QueryInterface
Извлекает указатель на указанный интерфейс.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
Параметры
riid
Идентификатор интерфейса.
ppvObject
После завершения этой операции указатель на интерфейс, указанный параметром riid.
Возвращаемое значение
Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, описывающее тип сбоя.
ActivationFactory::Release
Уменьшает количество ссылок текущего ActivationFactory
объекта.
STDMETHOD_(
ULONG,
Release
)();
Возвращаемое значение
Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, описывающее тип сбоя.