Freigeben über


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 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 ".