Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt eine WinRT- oder COM-Klasse dar, die die angegebenen Schnittstellen erbt und die angegebene Windows-Runtime, klassische COM und schwache Referenzunterstützung bereitstellt.
Diese Klasse stellt die Textbausteinimplementierung von WinRT- und COM-Klassen bereit, wobei die Implementierung von QueryInterface, AddRefusw Release . die Referenzanzahl des Moduls verwaltet und Unterstützung für die Bereitstellung der Klassenfactory für aktivierbare Objekte bietet.
Syntax
template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;
Parameter
classFlags
Optionaler Parameter. Eine Kombination aus einem oder RuntimeClassType mehreren Enumerationswerten. Das __WRL_CONFIGURATION_LEGACY__ Makro kann definiert werden, um den Standardwert classFlags für alle Laufzeitklassen im Projekt zu ändern. Falls definiert, RuntimeClass sind Instanzen standardmäßig nicht agil. Wenn sie nicht definiert sind, RuntimeClass sind Instanzen standardmäßig agil. Um Mehrdeutigkeit zu vermeiden, geben Sie immer das Microsoft::WRL::FtmBase In- TInterfaces oder RuntimeClassType::InhibitFtmBase. Wenn InhibitFtmBase und FtmBase beide verwendet werden, ist das Objekt agil.
TInterfaces
Die Liste der Schnittstellen, die das Objekt implementiert, oder IUnknownIInspectable andere Schnittstellen, die von RuntimeClassType. Es kann auch andere Klassen auflisten, die abgeleitet werden sollen, insbesondere Microsoft::WRL::FtmBase , um das Objekt agil zu machen und zu implementieren IMarshal.
Member
RuntimeClassInitialize
Eine Funktion, die das Objekt initialisiert, wenn die MakeAndInitialize Funktionsvorlage zum Erstellen des Objekts verwendet wird. Es wird zurückgegeben S_OK , ob das Objekt erfolgreich initialisiert wurde, oder einen COM-Fehlercode, wenn die Initialisierung fehlgeschlagen ist. Der COM-Fehlercode wird als Rückgabewert von MakeAndInitialize. Die RuntimeClassInitialize Methode wird nicht aufgerufen, wenn die Make Funktionsvorlage zum Erstellen des Objekts verwendet wird.
Öffentliche Konstruktoren
| Name | Beschreibung |
|---|---|
RuntimeClass::RuntimeClass |
Initialisiert die aktuelle Instanz der RuntimeClass Klasse. |
RuntimeClass::~RuntimeClass |
Deinitialisiert die aktuelle Instanz der RuntimeClass Klasse. |
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
RuntimeClass::AddRef |
Erhöht die Referenzanzahl für das aktuelle RuntimeClass Objekt. |
RuntimeClass::DecrementReference |
Erhöht die Referenzanzahl für das aktuelle RuntimeClass Objekt. |
RuntimeClass::GetIids |
Ruft ein Array ab, das die vom aktuellen RuntimeClass Objekt implementierten Schnittstellen-IDs enthalten kann. |
RuntimeClass::GetRuntimeClassName |
Ruft den Laufzeitklassennamen des aktuellen RuntimeClass Objekts ab. |
RuntimeClass::GetTrustLevel |
Ruft die Vertrauensstufe des aktuellen RuntimeClass Objekts ab. |
RuntimeClass::GetWeakReference |
Ruft einen Zeiger auf das schwache Referenzobjekt für das aktuelle RuntimeClass Objekt ab. |
RuntimeClass::InternalAddRef |
Erhöht die Verweisanzahl auf das aktuelle RuntimeClass Objekt. |
RuntimeClass::QueryInterface |
Ruft einen Zeiger auf die angegebene Schnittstellen-ID ab. |
RuntimeClass::Release |
Führt einen COM Release-Vorgang für das aktuelle RuntimeClass Objekt aus. |
Vererbungshierarchie
Die Hierarchie ist ein Implementierungsdetails.
Anforderungen
Header: implements.h
Namespace:Microsoft::WRL
RuntimeClass::~RuntimeClass
Deinitialisiert die aktuelle Instanz der RuntimeClass Klasse.
virtual ~RuntimeClass();
RuntimeClass::AddRef
Erhöht die Referenzanzahl für das aktuelle RuntimeClass Objekt.
STDMETHOD_(
ULONG,
AddRef
)();
Rückgabewert
S_OK wenn erfolgreich; andernfalls gibt ein HRESULT , der den Fehler angibt.
RuntimeClass::DecrementReference
Erhöht die Referenzanzahl für das aktuelle RuntimeClass Objekt.
ULONG DecrementReference();
Rückgabewert
S_OK wenn erfolgreich; andernfalls gibt ein HRESULT , der den Fehler angibt.
RuntimeClass::GetIids
Ruft ein Array ab, das die vom aktuellen RuntimeClass Objekt implementierten Schnittstellen-IDs enthalten kann.
STDMETHOD(
GetIids
)
(_Out_ ULONG *iidCount,
_Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
Parameter
iidCount
Nach Abschluss dieses Vorgangs wird die Gesamtanzahl der Elemente im Array iidszurückgegeben.
iids
Wenn dieser Vorgang abgeschlossen ist, zeigt ein Zeiger auf ein Array von Schnittstellen-IDs.
Rückgabewert
S_OK bei Erfolg, andernfalls E_OUTOFMEMORY.
RuntimeClass::GetRuntimeClassName
Ruft den Laufzeitklassennamen des aktuellen RuntimeClass Objekts ab.
STDMETHOD( GetRuntimeClassName )(
_Out_ HSTRING* runtimeName
);
Parameter
runtimeName
Wenn dieser Vorgang abgeschlossen ist, wird der Name der Laufzeitklasse angegeben.
Rückgabewert
S_OK wenn erfolgreich; andernfalls gibt ein HRESULT , der den Fehler angibt.
Hinweise
Wenn oder __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ nicht definiert ist, wird ein Assert-Fehler ausgegeben__WRL_STRICT__.
RuntimeClass::GetTrustLevel
Ruft die Vertrauensstufe des aktuellen RuntimeClass Objekts ab.
STDMETHOD(GetTrustLevel)(
_Out_ TrustLevel* trustLvl
);
Parameter
trustLvl
Nach Abschluss dieses Vorgangs wird die Vertrauensstufe des aktuellen RuntimeClass Objekts ausgeführt.
Rückgabewert
Immer S_OK.
Hinweise
Wenn oder __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ nicht definiert ist, wird ein Assert-Fehler ausgegeben__WRL_STRICT__.
RuntimeClass::GetWeakReference
Ruft einen Zeiger auf das schwache Referenzobjekt für das aktuelle RuntimeClass Objekt ab.
STDMETHOD(
GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);
Parameter
weakReference
Wenn dieser Vorgang abgeschlossen ist, zeigt ein Zeiger auf ein schwaches Referenzobjekt.
Rückgabewert
Immer S_OK.
RuntimeClass::InternalAddRef
Erhöht die Verweisanzahl auf das aktuelle RuntimeClass Objekt.
ULONG InternalAddRef();
Rückgabewert
Die resultierende Bezugsanzahl.
RuntimeClass::QueryInterface
Ruft einen Zeiger auf die angegebene Schnittstellen-ID ab.
STDMETHOD(
QueryInterface
)
(REFIID riid,
_Deref_out_ void **ppvObject);
Parameter
riid
Eine Schnittstellen-ID.
ppvObject
Wenn dieser Vorgang abgeschlossen ist, zeigt ein Zeiger auf die schnittstelle, die durch den riid Parameter angegeben wird.
Rückgabewert
S_OK wenn erfolgreich; andernfalls gibt ein HRESULT , der den Fehler angibt.
RuntimeClass::Release
Führt einen COM Release-Vorgang für das aktuelle RuntimeClass Objekt aus.
STDMETHOD_(
ULONG,
Release
)();
Rückgabewert
S_OK wenn erfolgreich; andernfalls gibt ein HRESULT , der den Fehler angibt.
Hinweise
Wenn die Bezugsanzahl null wird, wird das RuntimeClass Objekt gelöscht.
RuntimeClass::RuntimeClass
Initialisiert die aktuelle Instanz der RuntimeClass Klasse.
RuntimeClass();