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ı
Ad | Tanım |
---|---|
ClassFlags |
için RuntimeClassFlags<WinRt> bir eş anlamlı. |
Korumalı Yöntemler
Ad | Tanım |
---|---|
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
Ad | Tanım |
---|---|
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.
İade 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();
İade 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;
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin