Implementuje strukturu
Implementuje QueryInterface
a GetIid
pro zadaná rozhraní.
Syntaxe
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;
Parametry
I0
ID nulového rozhraní. (Povinné)
I1
První ID rozhraní. (Nepovinné)
I2
Druhé ID rozhraní. (Nepovinné)
I3
ID třetího rozhraní. (Nepovinné)
I4
Čtvrté ID rozhraní. (Nepovinné)
I5
ID pátého rozhraní. (Nepovinné)
I6
Šesté ID rozhraní. (Nepovinné)
I7
Sedmé ID rozhraní. (Nepovinné)
I8
OSMÉ ID rozhraní. (Nepovinné)
I9
ID devátého rozhraní. (Nepovinné)
vlajky
Příznaky konfigurace pro třídu. Jeden nebo více výčtů RuntimeClassType , které jsou zadány ve struktuře RuntimeClassFlags .
Poznámky
Odvozuje ze seznamu zadaných rozhraní a implementuje pomocné šablony pro QueryInterface
a GetIid
.
Každý parametr rozhraní I0 až I9 musí být odvozen z IUnknown
šablony , IInspectable
nebo ChainInterfaces . Parametr flags určuje, zda je podpora generována pro IUnknown
nebo IInspectable
.
Členové
Veřejné definice typedef
Název | Popis |
---|---|
ClassFlags |
Synonymum pro RuntimeClassFlags<WinRt> . |
Chráněné metody
Název | Popis |
---|---|
Implements::CanCastTo | Získá ukazatel na zadané rozhraní. |
Implements::CastToUnknown | Získá ukazatel na základní IUnknown rozhraní. |
Implements::FillArrayWithIid | Vloží ID rozhraní určené aktuálním parametrem nuly šablony do zadaného prvku pole. |
Chráněné konstanty
Název | Popis |
---|---|
Implements::IidCount | Obsahuje počet implementovaných ID rozhraní. |
Hierarchie dědičnosti
I0
ChainInterfaces
I0
ImplementsBase
ImplementsHelper
Implements
Požadavky
Hlavička: implements.h
Obor názvů: Microsoft::WRL
Implements::CanCastTo
Získá ukazatel na zadané rozhraní.
__forceinline HRESULT CanCastTo(
REFIID riid,
_Deref_out_ void **ppv
);
Parametry
riid
Odkaz na ID rozhraní.
ppv
V případě úspěchu ukazatel na rozhraní určené riid.
Návratová hodnota
S_OK v případě úspěchu; jinak hodnota HRESULT označuje chybu, například E_NOINTERFACE.
Poznámky
Toto je interní pomocná funkce, která provádí operaci QueryInterface.
Implements::CastToUnknown
Získá ukazatel na základní IUnknown
rozhraní.
__forceinline IUnknown* CastToUnknown();
Návratová hodnota
Tato operace vždy proběhne úspěšně a vrátí IUnknown
ukazatel.
Poznámky
Interní pomocná funkce.
Implements::FillArrayWithIid
Vloží ID rozhraní určené aktuálním parametrem nuly šablony do zadaného prvku pole.
__forceinline static void FillArrayWithIid(
unsigned long &index,
_In_ IID* iids
);
Parametry
index
Index založený na nule, který označuje počáteční prvek pole pro tuto operaci. Po dokončení této operace se index zvýší o 1.
iids
Pole typu IID.
Poznámky
Interní pomocná funkce.
Implements::IidCount
Obsahuje počet implementovaných ID rozhraní.
static const unsigned long IidCount;