Condividi tramite


Classe RuntimeClass

Rappresenta una classe WinRT o COM che eredita le interfacce specificate e fornisce il supporto di Riferimento debole, COM classico e Windows Runtime specificato.

Questa classe fornisce l'implementazione boilerplate delle classi WinRT e COM, fornendo l'implementazione di QueryInterface, AddRefe Release così via, gestisce il conteggio dei riferimenti del modulo e supporta la fornitura della class factory per gli oggetti attivabili.

Sintassi

template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;

Parametri

classFlags
Parametro facoltativo. Combinazione di uno o più RuntimeClassType valori di enumerazione. È possibile definire la __WRL_CONFIGURATION_LEGACY__ macro per modificare il valore predefinito di classFlags per tutte le classi di runtime nel progetto. Se definito, RuntimeClass le istanze non sono agile per impostazione predefinita. Se non definito, RuntimeClass le istanze sono agile per impostazione predefinita. Per evitare ambiguità, specificare sempre in Microsoft::WRL::FtmBase TInterfaces o RuntimeClassType::InhibitFtmBase. Se InhibitFtmBase e FtmBase vengono usati entrambi, l'oggetto sarà agile.

TInterfaces
L'elenco di interfacce implementate dall'oggetto oltre IUnknowna IInspectable o altre interfacce controllate da RuntimeClassType. Può anche elencare altre classi da derivare, in particolare Microsoft::WRL::FtmBase per rendere agile l'oggetto e causare l'implementazione IMarshaldi .

Membri

RuntimeClassInitialize
Funzione che inizializza l'oggetto se viene utilizzato il MakeAndInitialize modello di funzione per costruire l'oggetto. Restituisce S_OK se l'oggetto è stato inizializzato correttamente o un codice di errore COM se l'inizializzazione non è riuscita. Il codice di errore COM viene propagato come valore restituito di MakeAndInitialize. Il RuntimeClassInitialize metodo non viene chiamato se il Make modello di funzione viene usato per costruire l'oggetto.

Costruttori pubblici

Nome Descrizione
RuntimeClass::RuntimeClass Inizializza l'istanza corrente della RuntimeClass classe .
RuntimeClass::~RuntimeClass Deinitialize l'istanza corrente della RuntimeClass classe .

Metodi pubblici

Nome Descrizione
RuntimeClass::AddRef Incrementa il conteggio dei riferimenti per l'oggetto corrente RuntimeClass .
RuntimeClass::DecrementReference Decrementa il conteggio dei riferimenti per l'oggetto corrente RuntimeClass .
RuntimeClass::GetIids Ottiene una matrice che può contenere gli ID di interfaccia implementati dall'oggetto corrente RuntimeClass .
RuntimeClass::GetRuntimeClassName Ottiene il nome della classe di runtime dell'oggetto corrente RuntimeClass .
RuntimeClass::GetTrustLevel Ottiene il livello di attendibilità dell'oggetto corrente RuntimeClass .
RuntimeClass::GetWeakReference Ottiene un puntatore all'oggetto riferimento debole per l'oggetto corrente RuntimeClass .
RuntimeClass::InternalAddRef Incrementa il conteggio dei riferimenti all'oggetto corrente RuntimeClass .
RuntimeClass::QueryInterface Recupera un puntatore all'ID di interfaccia specificato.
RuntimeClass::Release Esegue un'operazione COM Release sull'oggetto corrente RuntimeClass .

Gerarchia di ereditarietà

La gerarchia è un dettaglio di implementazione.

Requisiti

Intestazione: implements.h

Spazio dei nomi: Microsoft::WRL

RuntimeClass::~RuntimeClass

Deinitialize l'istanza corrente della RuntimeClass classe .

virtual ~RuntimeClass();

RuntimeClass::AddRef

Incrementa il conteggio dei riferimenti per l'oggetto corrente RuntimeClass .

STDMETHOD_(
   ULONG,
   AddRef
)();

Valore restituito

S_OK se ha esito positivo; in caso contrario, che HRESULT indica l'errore.

RuntimeClass::DecrementReference

Decrementa il conteggio dei riferimenti per l'oggetto corrente RuntimeClass .

ULONG DecrementReference();

Valore restituito

S_OK se ha esito positivo; in caso contrario, che HRESULT indica l'errore.

RuntimeClass::GetIids

Ottiene una matrice che può contenere gli ID di interfaccia implementati dall'oggetto corrente RuntimeClass .

STDMETHOD(
   GetIids
)
   (_Out_ ULONG *iidCount,
   _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);

Parametri

iidCount
Al termine di questa operazione, il numero totale di elementi nella matrice iids.

iids
Al termine di questa operazione, un puntatore a una matrice di ID di interfaccia.

Valore restituito

S_OK se ha esito positivo; in caso contrario, E_OUTOFMEMORY.

RuntimeClass::GetRuntimeClassName

Ottiene il nome della classe di runtime dell'oggetto corrente RuntimeClass .

STDMETHOD( GetRuntimeClassName )(
    _Out_ HSTRING* runtimeName
);

Parametri

runtimeName
Al termine dell'operazione, il nome della classe di runtime.

Valore restituito

S_OK se ha esito positivo; in caso contrario, che HRESULT indica l'errore.

Osservazioni:

Se o __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ non è definito, viene generato __WRL_STRICT__ un errore di asserzione.

RuntimeClass::GetTrustLevel

Ottiene il livello di attendibilità dell'oggetto corrente RuntimeClass .

STDMETHOD(GetTrustLevel)(
    _Out_ TrustLevel* trustLvl
);

Parametri

trustLvl
Al termine dell'operazione, il livello di attendibilità dell'oggetto corrente RuntimeClass .

Valore restituito

Sempre S_OK.

Osservazioni:

Se o __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ non è definito, viene generato __WRL_STRICT__ un errore di asserzione.

RuntimeClass::GetWeakReference

Ottiene un puntatore all'oggetto riferimento debole per l'oggetto corrente RuntimeClass .

STDMETHOD(
   GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);

Parametri

weakReference
Al termine di questa operazione, un puntatore a un oggetto riferimento debole.

Valore restituito

Sempre S_OK.

RuntimeClass::InternalAddRef

Incrementa il conteggio dei riferimenti all'oggetto corrente RuntimeClass .

ULONG InternalAddRef();

Valore restituito

Conteggio dei riferimenti risultante.

RuntimeClass::QueryInterface

Recupera un puntatore all'ID di interfaccia specificato.

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 riid parametro .

Valore restituito

S_OK se ha esito positivo; in caso contrario, che HRESULT indica l'errore.

RuntimeClass::Release

Esegue un'operazione COM Release sull'oggetto corrente RuntimeClass .

STDMETHOD_(
   ULONG,
   Release
)();

Valore restituito

S_OK se ha esito positivo; in caso contrario, che HRESULT indica l'errore.

Osservazioni:

Se il conteggio dei riferimenti diventa zero, l'oggetto RuntimeClass viene eliminato.

RuntimeClass::RuntimeClass

Inizializza l'istanza corrente della RuntimeClass classe .

RuntimeClass();