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


Класс ClassFactory

Реализует базовую функциональность интерфейса IClassFactory.

template <
   typename I0 = Details::Nil,
   typename I1 = Details::Nil,
   typename I2 = Details::Nil
>
class ClassFactory : public Details::RuntimeClass<
   typename Details::InterfaceListHelper<IClassFactory, 
   I0, 
   I1, 
   I2, 
   Details::Nil>::TypeT, 
   RuntimeClassFlags<ClassicCom | InhibitWeakReference>, 
      false>;

Параметры

  • I0
    Нулевой интерфейс.

  • I1
    Первый интерфейс.

  • I2
    Второй интерфейс.

Примечания

Используйте ClassFactory для указания определенной пользователем реализации фабрики.

Следующий шаблон программирования демонстрирует использование структуры Implements для указания более трех интерфейсов для фабрики класса.

struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>

Члены

Открытые конструкторы

Имя

Описание

Конструктор ClassFactory::ClassFactory

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

Имя

Описание

Метод ClassFactory::AddRef

Увеличивает значение счетчика ссылок для текущего объекта ClassFactory.

Метод ClassFactory::LockServer

Увеличивает или уменьшает число основных объектов, отслеживаемых текущим объектом ClassFactory.

Метод ClassFactory::QueryInterface

Извлекает указатель на интерфейс, указанный параметром.

Метод ClassFactory::Release

Уменьшает значение счетчика ссылок для текущего объекта ClassFactory.

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

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

Требования

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

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

См. также

Ссылки

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

Перечисление RuntimeClassType