InterfaceTraits-Struktur
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
Syntax
template<typename I0>
struct __declspec(novtable) InterfaceTraits;
template<typename CloakedType>
struct __declspec(novtable) InterfaceTraits<
CloakedIid<CloakedType>
>;
template<>
struct __declspec(novtable) InterfaceTraits<Nil>;
Parameter
I0
Der Name einer Schnittstelle.
CloakedType
Implements
Für RuntimeClass
und ChainInterfaces
, eine Schnittstelle, die nicht in der Liste der unterstützten Schnittstellen-IDs enthalten ist.
Hinweise
Implementiert allgemeine Merkmale einer Schnittstelle.
Die zweite Vorlage ist eine Spezialisierung auf verhüllte Schnittstellen. Die dritte Vorlage ist eine Spezialisierung auf Nilparameter.
Member
Öffentliche Typedefs
Name | Beschreibung |
---|---|
Base |
Ein Synonym für den I0-Vorlagenparameter . |
Öffentliche Methoden
Name | Beschreibung |
---|---|
InterfaceTraits::CanCastTo | Gibt an, ob der angegebene Zeiger in einen Zeiger Base umwandeln kann. |
InterfaceTraits::CastToBase | Wandelt den angegebenen Zeiger in einen Zeiger um.Base |
InterfaceTraits::CastToUnknown | Wandelt den angegebenen Zeiger in einen Zeiger um.IUnknown |
InterfaceTraits::FillArrayWithIid | Weist die Schnittstellen-ID des Base Arrayelements zu, das durch das Indexargument angegeben wird. |
InterfaceTraits::Verify | Überprüft, ob Base dies ordnungsgemäß abgeleitet ist. |
Öffentliche Konstanten
Name | Beschreibung |
---|---|
InterfaceTraits::IidCount | Enthält die Anzahl der Schnittstellen-IDs, die dem aktuellen InterfaceTraits Objekt zugeordnet sind. |
Vererbungshierarchie
InterfaceTraits
Anforderungen
Header: implements.h
Namespace: Microsoft::WRL::D etails
InterfaceTraits::CanCastTo
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
template<typename T>
static __forceinline bool CanCastTo(
_In_ T* ptr,
REFIID riid,
_Deref_out_ void **ppv
);
Parameter
ptr
Der Name eines Zeigers auf einen Typ.
riid
Die Schnittstellen-ID von Base
.
Ppv
Wenn dieser Vorgang erfolgreich ist, verweist ppv auf die durch Base
. Andernfalls ist ppv auf nullptr
.
Rückgabewert
true
Wenn dieser Vorgang erfolgreich ist und ptr in einen Zeiger zu Base
; andernfalls false
wird .
Hinweise
Gibt an, ob der angegebene Zeiger in einen Zeiger Base
umwandeln kann.
Weitere Informationen Base
finden Sie im Abschnitt "Public Typedefs ".
InterfaceTraits::CastToBase
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
template<typename T>
static __forceinline Base* CastToBase(
_In_ T* ptr
);
Parameter
T
Der Typ des Parameters ptr.
ptr
Zeiger auf einen Typ T.
Rückgabewert
Ein Zeiger auf Base
.
Hinweise
Wandelt den angegebenen Zeiger in einen Zeiger um.Base
Weitere Informationen Base
finden Sie im Abschnitt "Public Typedefs ".
InterfaceTraits::CastToUnknown
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
template<typename T>
static __forceinline IUnknown* CastToUnknown(
_In_ T* ptr
);
Parameter
T
Der Typ des Parameters ptr.
ptr
Zeiger, um T einzugeben.
Rückgabewert
Zeiger auf den IUnknown, von dem Base
abgeleitet wird.
Hinweise
Wandelt den angegebenen Zeiger in einen Zeiger um.IUnknown
Weitere Informationen Base
finden Sie im Abschnitt "Public Typedefs ".
InterfaceTraits::FillArrayWithIid
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
__forceinline static void FillArrayWithIid(
_Inout_ unsigned long &index,
_In_ IID* iids
);
Parameter
Index
Zeigen Sie auf ein Feld, das einen nullbasierten Indexwert enthält.
iids
Ein Array von Schnittstellen-IDs.
Hinweise
Weist die Schnittstellen-ID des Base
Arrayelements zu, das durch das Indexargument angegeben wird.
Im Gegensatz zum Namen dieser API wird nur ein Arrayelement geändert; nicht das gesamte Array.
Weitere Informationen Base
finden Sie im Abschnitt "Public Typedefs ".
InterfaceTraits::IidCount
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
static const unsigned long IidCount = 1;
Hinweise
Enthält die Anzahl der Schnittstellen-IDs, die dem aktuellen InterfaceTraits
Objekt zugeordnet sind.
InterfaceTraits::Verify
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
__forceinline static void Verify();
Hinweise
Überprüft, ob Base
dies ordnungsgemäß abgeleitet ist.
Weitere Informationen Base
finden Sie im Abschnitt "Public Typedefs ".
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für