Partilhar via


Classe SimpleClassFactory

Fornece um mecanismo fundamental para criar uma classe base.

Sintaxe

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

Parâmetros

Base
Uma classe base.

Comentários

A classe base precisa fornecer um construtor padrão.

O exemplo de código a seguir demonstra como usar SimpleClassFactory com a macro ActivatableClassWithFactoryEx.

ActivatableClassWithFactoryEx(MyClass, SimpleClassFactory, MyServerName);

Membros

Métodos públicos

Nome Descrição
Método SimpleClassFactory::CreateInstance Cria uma instância da interface especificada.

Hierarquia de herança

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

SimpleClassFactory

Requisitos

Cabeçalho: module.h

Namespace: Microsoft::WRL

Método SimpleClassFactory::CreateInstance

Cria uma instância da interface especificada.

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

Parâmetros

pUnkOuter
Deve ser nullptr; caso contrário, o valor retornado será CLASS_E_NOAGGREGATION.

SimpleClassFactory não dá suporte à agregação. Se houvesse suporte para agregação e o objeto que estava sendo criado fosse parte de uma agregação, pUnkOuter seria um ponteiro para a interface IUnknown de controle da agregação.

riid
A ID da interface do objeto a ser criado.

ppvObject
Quando essa operação for concluída, será o ponteiro para uma instância do objeto especificado pelo parâmetro riid.

Valor de retorno

S_OK se tiver êxito; caso contrário, um HRESULT que indica o erro.

Comentários

Se __WRL_STRICT__ for definido, um erro de declaração será emitido se a classe base especificada no parâmetro de modelo de classe não for derivada de RuntimeClass ou não estiver configurada com o valor de enumeração RuntimeClassType de ClassicCom ou WinRtClassicComMix.