Implements-Struktur
QueryInterface
Implementiert und GetIid
für die angegebenen Schnittstellen.
Syntax
template <
typename I0,
typename I1 = Details::Nil,
typename I2 = Details::Nil,
typename I3 = Details::Nil,
typename I4 = Details::Nil,
typename I5 = Details::Nil,
typename I6 = Details::Nil,
typename I7 = Details::Nil,
typename I8 = Details::Nil,
typename I9 = Details::Nil
>
struct __declspec(novtable) Implements :
Details::ImplementsHelper<
RuntimeClassFlags<WinRt>,
typename Details::InterfaceListHelper<
I0, I1, I2, I3, I4, I5, I6, I7, I8, I9
>::TypeT
>,
Details::ImplementsBase;
template <
int flags,
typename I0,
typename I1,
typename I2,
typename I3,
typename I4,
typename I5,
typename I6,
typename I7,
typename I8
>
struct __declspec(novtable) Implements<
RuntimeClassFlags<flags>,
I0, I1, I2, I3, I4, I5, I6, I7, I8> :
Details::ImplementsHelper<
RuntimeClassFlags<flags>,
typename Details::InterfaceListHelper<
I0, I1, I2, I3, I4, I5, I6, I7, I8
>::TypeT
>,
Details::ImplementsBase;
Parameter
I0
Die nullte Schnittstellen-ID. (Erforderlich)
I1
Die erste Schnittstellen-ID. (Optional)
I2
Die zweite Schnittstellen-ID. (Optional)
I3
Die dritte Schnittstellen-ID. (Optional)
I4
Die vierte Schnittstellen-ID. (Optional)
I5
Die fünfte Schnittstellen-ID. (Optional)
I6
Die sechste Schnittstellen-ID. (Optional)
I7
Die siebte Schnittstellen-ID. (Optional)
I8
Die achte Schnittstellen-ID. (Optional)
I9
Die neunte Schnittstellen-ID. (Optional)
flags
Konfigurationskennzeichnungen für die Klasse. Eine oder mehrere RuntimeClassType-Enumerationen , die in einer RuntimeClassFlags-Struktur angegeben sind.
Hinweise
Abgeleitet von der Liste der angegebenen Schnittstellen und implementiert Hilfsvorlagen für QueryInterface
und GetIid
.
Jeder I0 bis I9-Schnittstellenparameter muss von der IUnknown
IInspectable
Vorlage "ChainInterfaces" oder "ChainInterfaces" abgeleitet werden. Der Flags-Parameter bestimmt, ob unterstützung für IUnknown
oder IInspectable
.
Member
Öffentliche Typedefs
Name | Beschreibung |
---|---|
ClassFlags |
Ein Synonym für RuntimeClassFlags<WinRt> . |
Geschützte Methoden
Name | Beschreibung |
---|---|
Implements::CanCastTo | Ruft einen Zeiger auf die angegebene Schnittstelle ab. |
Implements::CastToUnknown | Ruft einen Zeiger auf die zugrunde liegende IUnknown Schnittstelle ab. |
Implements::FillArrayWithIid | Fügt die durch den aktuellen Null-Vorlagenparameter angegebene Schnittstellen-ID in das angegebene Arrayelement ein. |
Geschützte Konstanten
Name | Beschreibung |
---|---|
Implements::IidCount | Enthält die Anzahl der implementierten Schnittstellen-IDs. |
Vererbungshierarchie
I0
ChainInterfaces
I0
ImplementsBase
ImplementsHelper
Implements
Anforderungen
Header: implements.h
Namespace: Microsoft::WRL
Implements::CanCastTo
Ruft einen Zeiger auf die angegebene Schnittstelle ab.
__forceinline HRESULT CanCastTo(
REFIID riid,
_Deref_out_ void **ppv
);
Parameter
riid
Ein Verweis auf eine Schnittstellen-ID.
ppv
Bei erfolgreicher Ausführung zeigt ein Zeiger auf die durch riid angegebene Schnittstelle.
Rückgabewert
bei erfolgreicher Ausführung S_OK; andernfalls ein HRESULT, das den Fehler angibt, z. B. E_NOINTERFACE.
Hinweise
Dies ist eine interne Hilfsfunktion, die einen QueryInterface-Vorgang ausführt.
Implements::CastToUnknown
Ruft einen Zeiger auf die zugrunde liegende IUnknown
Schnittstelle ab.
__forceinline IUnknown* CastToUnknown();
Rückgabewert
Dieser Vorgang ist immer erfolgreich und gibt den IUnknown
Zeiger zurück.
Hinweise
Interne Hilfsfunktion.
Implements::FillArrayWithIid
Fügt die durch den aktuellen Null-Vorlagenparameter angegebene Schnittstellen-ID in das angegebene Arrayelement ein.
__forceinline static void FillArrayWithIid(
unsigned long &index,
_In_ IID* iids
);
Parameter
Index
Ein nullbasierter Index, der das Startarrayelement für diesen Vorgang angibt. Wenn dieser Vorgang abgeschlossen ist, wird der Index um 1 erhöht.
iids
Ein Array vom Typ IID.
Hinweise
Interne Hilfsfunktion.
Implements::IidCount
Enthält die Anzahl der implementierten Schnittstellen-IDs.
static const unsigned long IidCount;