Condividi tramite


SimpleClassFactory (classe)

Fornisce un meccanismo semplice per creare una classe base.

Sintassi

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

Parametri

Base
Classe di base.

Osservazioni:

La classe base deve fornire un costruttore predefinito.

Nell'esempio di codice seguente viene illustrato come usare SimpleClassFactory con la macro ActivatableClassWithFactoryEx .

ActivatableClassWithFactoryEx(MyClass, SimpleClassFactory, MyServerName);

Membri

Metodi pubblici

Nome Descrizione
Metodo SimpleClassFactory::CreateInstance Crea un'istanza dell'interfaccia specificata.

Gerarchia di ereditarietà

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

SimpleClassFactory

Requisiti

Intestazione: module.h

Spazio dei nomi: Microsoft::WRL

Metodo SimpleClassFactory::CreateInstance

Crea un'istanza dell'interfaccia specificata.

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

Parametri

pUnkOuter
Deve essere nullptr; in caso contrario, il valore restituito è CLASS_E_NOAGGREGATION.

SimpleClassFactory non supporta l'aggregazione. Se l'aggregazione fosse supportata e l'oggetto creato faceva parte di un'aggregazione, pUnkOuter sarebbe un puntatore all'interfaccia di controllo IUnknown dell'aggregazione.

riid
ID interfaccia dell'oggetto da creare.

ppvObject
Al termine di questa operazione, puntatore a un'istanza dell'oggetto specificato dal parametro riid .

Valore restituito

S_OK se riesce; in caso contrario, HRESULT indica un errore.

Osservazioni:

Se __WRL_STRICT__ è definito, viene generato un errore di asserzione se la classe base specificata nel parametro del modello di classe non è derivata da RuntimeClass o non è configurata con il valore di enumerazione ClassicCom o WinRtClassicComMix RuntimeClassType .