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.
Gibt Überprüfungs- und Initialisierungsfunktionen an, die auf einen Satz von Schnittstellen-IDs angewendet werden können.
Syntax
template <
typename I0,
typename I1,
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 ChainInterfaces : I0;
template <
typename DerivedType,
typename BaseType,
bool hasImplements,
typename I1,
typename I2,
typename I3,
typename I4,
typename I5,
typename I6,
typename I7,
typename I8,
typename I9
>
struct ChainInterfaces<
MixIn<
DerivedType,
BaseType,
hasImplements
>, I1, I2, I3, I4, I5, I6, I7, I8, I9
>;
Parameter
I0
(Erforderlich) Schnittstellen-ID 0.
I1
(Erforderlich) Schnittstellen-ID 1.
I2
(Optional) Schnittstellen-ID 2.
I3
(Optional) Schnittstellen-ID 3.
I4
(Optional) Schnittstellen-ID 4.
I5
(Optional) Schnittstellen-ID 5.
I6
(Optional) Schnittstellen-ID 6.
I7
(Optional) Schnittstellen-ID 7.
I8
(Optional) Schnittstellen-ID 8.
I9
(Optional) Schnittstellen-ID 9.
DerivedType
Ein abgeleiteter Typ.
BaseType
Der Basistyp eines abgeleiteten Typs.
hasImplements
Ein boolescher Wert, der bedeutet, dass trueSie eine MixIn-Struktur nicht mit einer Klasse verwenden können, die nicht von der Implements-Struktur abgeleitet ist.
Member
Geschützte Methoden
| Name | Beschreibung |
|---|---|
| ChainInterfaces::CanCastTo | Gibt an, ob die angegebene Schnittstellen-ID in jede der spezialisierungen, die durch die ChainInterface Vorlagenparameter definiert werden können. |
| ChainInterfaces::CastToUnknown | Wandelt den Schnittstellenzeiger des Typs, der durch den I0-Vorlagenparameter definiert wird, in einen Zeiger um IUnknown. |
| ChainInterfaces::FillArrayWithIid | Speichert die vom I0-Vorlagenparameter definierte Schnittstellen-ID an einer angegebenen Position in einem angegebenen Array von Schnittstellen-IDs. |
| ChainInterfaces::Verify | Überprüft, ob jede Schnittstelle, die durch Vorlagenparameter I0 bis I9 definiert ist, erbt von IUnknown und/oder IInspectable, und dass I0 von I1 bis I9 erbt. |
Geschützte Konstanten
| Name | Beschreibung |
|---|---|
| ChainInterfaces::IidCount | Die Gesamtanzahl der Schnittstellen-IDs, die in den Schnittstellen enthalten sind, die durch Vorlagenparameter I0 bis I9 angegeben wurden. |
Vererbungshierarchie
I0
ChainInterfaces
Anforderungen
Header: implements.h
Namespace: Microsoft::WRL
ChainInterfaces::CanCastTo
Gibt an, ob die angegebene Schnittstellen-ID in jede der spezialisierungen, die durch die nicht standardmäßigen Vorlagenparameter definiert werden können.
__forceinline bool CanCastTo(
REFIID riid,
_Deref_out_ void **ppv
);
Parameter
riid
Eine Schnittstellen-ID.
ppv
Ein Zeiger auf die letzte Schnittstellen-ID, die erfolgreich umgerechnet wurde.
Rückgabewert
truewenn alle Umwandlungsvorgänge erfolgreich waren; andernfalls . false
ChainInterfaces::CastToUnknown
Wandelt den Schnittstellenzeiger des Typs, der durch den I0-Vorlagenparameter definiert wird, in einen Zeiger um IUnknown.
__forceinline IUnknown* CastToUnknown();
Rückgabewert
Ein Zeiger auf IUnknown.
ChainInterfaces::FillArrayWithIid
Speichert die vom I0-Vorlagenparameter definierte Schnittstellen-ID an einer angegebenen Position in einem angegebenen Array von Schnittstellen-IDs.
__forceinline static void FillArrayWithIid(
_Inout_ unsigned long &index,
_In_ IID* iids
);
Parameter
Index
Zeigen Sie auf einen Indexwert in das iids-Array .
iids
Ein Array von Schnittstellen-IDs.
ChainInterfaces::IidCount
Die Gesamtanzahl der Schnittstellen-IDs, die in den Schnittstellen enthalten sind, die durch Vorlagenparameter I0 bis I9 angegeben wurden.
static const unsigned long IidCount = Details::InterfaceTraits<I0>::IidCount + Details::InterfaceTraits<I1>::IidCount + Details::InterfaceTraits<I2>::IidCount + Details::InterfaceTraits<I3>::IidCount + Details::InterfaceTraits<I4>::IidCount + Details::InterfaceTraits<I5>::IidCount + Details::InterfaceTraits<I6>::IidCount + Details::InterfaceTraits<I7>::IidCount + Details::InterfaceTraits<I8>::IidCount + Details::InterfaceTraits<I9>::IidCount;
Rückgabewert
Die Gesamtanzahl der Schnittstellen-IDs.
Hinweise
Vorlagenparameter I0 und I1 sind erforderlich, und Parameter I2 bis I9 sind optional. Die IID-Anzahl jeder Schnittstelle ist in der Regel 1.
ChainInterfaces::Verify
Überprüft, ob jede Schnittstelle, die durch Vorlagenparameter I0 bis I9 definiert ist, erbt von IUnknown und/oder IInspectable, und dass I0 von I1 bis I9 erbt.
WRL_NOTHROW __forceinline static void Verify();
Hinweise
Wenn der Überprüfungsvorgang fehlschlägt, wird eine Fehlermeldung ausgegeben, static_assert die den Fehler beschreibt.
Vorlagenparameter I0 und I1 sind erforderlich, und Parameter I2 bis I9 sind optional.