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


SimpleClassFactory - класс

Предоставляет основной механизм для создания базового класса.

Синтаксис

template<typename Base>
class SimpleClassFactory : public ClassFactory<>;

Параметры

Основание
Базовый класс.

Замечания

Базовый класс должен предоставить конструктор по умолчанию.

В следующем примере кода показано, как использовать SimpleClassFactory макрос ActivatableClassWithFactoryEx .

ActivatableClassWithFactoryEx(MyClass, SimpleClassFactory, MyServerName);

Участники

Открытые методы

Имя Описание
Метод SimpleClassFactory::CreateInstance Создает экземпляр указанного интерфейса.

Иерархия наследования

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

SimpleClassFactory

Требования

Заголовок: module.h

Пространство имен: Microsoft::WRL

Метод SimpleClassFactory::CreateInstance

Создает экземпляр указанного интерфейса.

STDMETHOD( CreateInstance )(
   _Inout_opt_ IUnknown* pUnkOuter,
   REFIID riid,
   _Deref_out_ void** ppvObject
);

Параметры

pUnkOuter
Должно быть nullptr; в противном случае возвращается значение CLASS_E_NOAGGREGATION.

SimpleClassFactory не поддерживает агрегирование. Если агрегирование поддерживается, а созданный объект является частью агрегата, pUnkOuter будет указателем на управляемый IUnknown интерфейс агрегата.

riid
Идентификатор интерфейса объекта, который требуется создать.

ppvObject
По завершении этой операции указатель на экземпляр объекта, указанного параметром riid .

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

Значение S_OK, если операция завершилась успешно; в противном случае — значение HRESULT, указывающее на ошибку.

Замечания

Если __WRL_STRICT__ задано, ошибка утверждения создается, если базовый класс, указанный в параметре шаблона класса, не является производным от RuntimeClass или не настроен с помощью значения перечисления ClassicCom или WinRtClassicComMix RuntimeClassType.