ClassFactory (classe)
Implementa le funzionalità di base di un'interfaccia IClassFactory
.
Sintassi
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
>;
Parametri
I0
Interfaccia zeroth.
I1
Prima interfaccia.
I2
Seconda interfaccia.
Osservazioni:
Utilizzare ClassFactory
per fornire un'implementazione della factory definita dall'utente.
Il modello di programmazione seguente illustra come usare la struttura Implements per specificare più di tre interfacce in una class factory.
struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
ClassFactory::ClassFactory |
Metodi pubblici
Nome | Descrizione |
---|---|
ClassFactory::AddRef | Incrementa il conteggio dei riferimenti per l'oggetto corrente ClassFactory . |
ClassFactory::LockServer | Incrementa o decrementa il numero di oggetti sottostanti rilevati dall'oggetto corrente ClassFactory . |
ClassFactory::QueryInterface | Recupera un puntatore all'interfaccia specificata dal parametro . |
ClassFactory::Release | Decrementa il conteggio dei riferimenti per l'oggetto corrente ClassFactory . |
Gerarchia di ereditarietà
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ClassFactory
Requisiti
Intestazione: module.h
Spazio dei nomi: Microsoft::WRL
ClassFactory::AddRef
Incrementa il conteggio dei riferimenti per l'oggetto corrente ClassFactory
.
STDMETHOD_(
ULONG,
AddRef
)();
Valore restituito
S_OK se riesce; in caso contrario, HRESULT che descrive l'errore.
ClassFactory::ClassFactory
WRL_NOTHROW ClassFactory();
ClassFactory::LockServer
Incrementa o decrementa il numero di oggetti sottostanti rilevati dall'oggetto corrente ClassFactory
.
STDMETHOD(
LockServer
)(BOOL fLock);
Parametri
gregge
true
per incrementare il numero di oggetti rilevati. false
per decrementare il numero di oggetti rilevati.
Valore restituito
S_OK se ha esito positivo; in caso contrario, E_FAIL.
Osservazioni:
ClassFactory
tiene traccia degli oggetti in un'istanza sottostante della classe Module .
ClassFactory::QueryInterface
Recupera un puntatore all'interfaccia specificata dal parametro .
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
Parametri
riid
ID di interfaccia.
ppvObject
Al termine di questa operazione, un puntatore all'interfaccia specificata dal parametro riid.
Valore restituito
S_OK se riesce; in caso contrario, HRESULT che descrive l'errore.
ClassFactory::Release
Decrementa il conteggio dei riferimenti per l'oggetto corrente ClassFactory
.
STDMETHOD_(
ULONG,
Release
)();
Valore restituito
S_OK se riesce; in caso contrario, HRESULT che descrive l'errore.