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.
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 RuntimeClassund 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 Baseumwandeln 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 falsewird .
Hinweise
Gibt an, ob der angegebene Zeiger in einen Zeiger Baseumwandeln kann.
Weitere Informationen Basefinden 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 Basefinden 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 Basefinden 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 Basefinden 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 Basefinden Sie im Abschnitt "Public Typedefs ".