Implements Yapısı
Belirtilen arabirimler QueryInterface
için ve GetIid
uygular.
Sözdizimi
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;
Parametreler
I0
Sıfırıncı arabirim kimliği. (Zorunlu)
I1
İlk arabirim kimliği. (İsteğe bağlı)
I2
İkinci arabirim kimliği. (İsteğe bağlı)
I3
Üçüncü arabirim kimliği. (İsteğe bağlı)
I4
Dördüncü arabirim kimliği. (İsteğe bağlı)
I5
Beşinci arabirim kimliği. (İsteğe bağlı)
I6
Altıncı arabirim kimliği. (İsteğe bağlı)
I7
Yedinci arabirim kimliği. (İsteğe bağlı)
I8
Sekizinci arabirim kimliği. (İsteğe bağlı)
I9
Dokuzuncu arabirim kimliği. (İsteğe bağlı)
Bayrak
Sınıfı için yapılandırma bayrakları. RuntimeClassFlags yapısında belirtilen bir veya daha fazla RuntimeClassType numaralandırması.
Açıklamalar
Belirtilen arabirimler listesinden türetilir ve ve GetIid
için QueryInterface
yardımcı şablonları uygular.
Her I0 - I9 arabirim parametresi, , IInspectable
veya ChainInterfaces şablonundan IUnknown
türetilmelidir. flags parametresi, veya IInspectable
için IUnknown
destek oluşturulup oluşturulmadığını belirler.
Üyeler
Genel Tür Tanımları
Veri Akışı Adı | Açıklama |
---|---|
ClassFlags |
için RuntimeClassFlags<WinRt> bir eş anlamlı. |
Korumalı Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
Implements::CanCastTo | Belirtilen arabirime bir işaretçi alır. |
Implements::CastToUnknown | Temel alınan IUnknown arabirime bir işaretçi alır. |
Implements::FillArrayWithIid | Geçerli sıfırıncı şablon parametresi tarafından belirtilen arabirim kimliğini belirtilen dizi öğesine ekler. |
Korumalı Sabitler
Veri Akışı Adı | Açıklama |
---|---|
Implements::IidCount | Uygulanan arabirim kimliklerinin sayısını tutar. |
Devralma Hiyerarşisi
I0
ChainInterfaces
I0
ImplementsBase
ImplementsHelper
Implements
Gereksinimler
Üst bilgi: implements.h
Ad Alanı: Microsoft::WRL
Implements::CanCastTo
Belirtilen arabirime bir işaretçi alır.
__forceinline HRESULT CanCastTo(
REFIID riid,
_Deref_out_ void **ppv
);
Parametreler
riid
Arabirim kimliğine başvuru.
ppv
Başarılı olursa, riid tarafından belirtilen arabirime bir işaretçi.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, E_NOINTERFACE gibi hatayı gösteren bir HRESULT.
Açıklamalar
Bu, QueryInterface işlemi gerçekleştiren bir iç yardımcı işlevdir.
Implements::CastToUnknown
Temel alınan IUnknown
arabirime bir işaretçi alır.
__forceinline IUnknown* CastToUnknown();
Dönüş Değeri
Bu işlem her zaman başarılı olur ve işaretçiyi IUnknown
döndürür.
Açıklamalar
İç yardımcı işlevi.
Implements::FillArrayWithIid
Geçerli sıfırıncı şablon parametresi tarafından belirtilen arabirim kimliğini belirtilen dizi öğesine ekler.
__forceinline static void FillArrayWithIid(
unsigned long &index,
_In_ IID* iids
);
Parametreler
Dizin
Bu işlem için başlangıç dizisi öğesini gösteren sıfır tabanlı bir dizin. Bu işlem tamamlandığında dizin 1 artırılır.
iid'ler
IID türünde bir dizi.
Açıklamalar
İç yardımcı işlevi.
Implements::IidCount
Uygulanan arabirim kimliklerinin sayısını tutar.
static const unsigned long IidCount;