Partilhar via


Classe ClassFactory

Implementa a funcionalidade básica da interface de 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>;

Parâmetros

  • I0
    A interface de zeroth.

  • I1
    A primeira interface.

  • I2
    A segunda interface.

Comentários

Utilize ClassFactory para fornecer uma implementação definida pelo usuário da fábrica.

O seguinte padrão de programação demonstra como usar a estrutura de Implementa para especificar mais de três interfaces de uma fábrica da classe.

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

Membros

Construtores Públicos

Nome

Descrição

Construtor ClassFactory::ClassFactory

Métodos Públicos

Nome

Descrição

Método ClassFactory::AddRef

Incrementa a contagem de referência do objeto atual de ClassFactory.

Método ClassFactory::LockServer

Incrementa ou diminui o número de objetos subjacentes que são rastreados pelo objeto atual de ClassFactory.

Método ClassFactory::QueryInterface

Recupera um ponteiro para a interface especificada pelo parâmetro.

Método ClassFactory::Release

Diminui a contagem de referência para o objeto atual de ClassFactory.

Hierarquia de Herança

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

Requisitos

Cabeçalho: module.h

Namespace: Microsoft::WRL

Consulte também

Referência

Namespace Microsoft::WRL

Enumeração RuntimeClassType