Struktur ChainInterfaces
Menentukan fungsi verifikasi dan inisialisasi yang dapat diterapkan ke sekumpulan ID antarmuka.
Sintaks
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
(Diperlukan) ID Antarmuka 0.
I1
(Diperlukan) ID Antarmuka 1.
I2
(Opsional) ID Antarmuka 2.
I3
(Opsional) ID Antarmuka 3.
I4
(Opsional) ID Antarmuka 4.
I5
(Opsional) ID Antarmuka 5.
I6
(Opsional) ID Antarmuka 6.
I7
(Opsional) ID Antarmuka 7.
I8
(Opsional) ID Antarmuka 8.
I9
(Opsional) ID Antarmuka 9.
DerivedType
Jenis turunan.
BaseType
Jenis dasar dari jenis turunan.
hasImplements
Nilai Boolean yang jika true
, berarti Anda tidak dapat menggunakan struktur MixIn dengan kelas yang tidak berasal dari struktur Implements .
Anggota
Metode yang Dilindungi
Nama | Deskripsi |
---|---|
ChainInterfaces::CanCastTo | Menunjukkan apakah ID antarmuka yang ditentukan dapat ditransmisikan ke setiap spesialisasi yang ditentukan oleh ChainInterface parameter templat. |
ChainInterfaces::CastToUnknown | Mentransmisikan penunjuk antarmuka jenis yang ditentukan oleh parameter templat I0 ke penunjuk ke IUnknown . |
ChainInterfaces::FillArrayWithIid | Menyimpan ID antarmuka yang ditentukan oleh parameter templat I0 ke lokasi tertentu dalam array ID antarmuka tertentu. |
ChainInterfaces::Verify | Memverifikasi bahwa setiap antarmuka yang ditentukan oleh parameter templat I0 hingga I9 mewarisi dari IUnknown dan/atau IInspectable , dan bahwa I0 mewarisi dari I1 hingga I9. |
Konstanta Terproteksi
Nama | Deskripsi |
---|---|
ChainInterfaces::IidCount | Jumlah total ID antarmuka yang terkandung dalam antarmuka yang ditentukan oleh parameter templat I0 hingga I9. |
Hierarki Warisan
I0
ChainInterfaces
Persyaratan
Header: implements.h
Namespace: Microsoft::WRL
ChainInterfaces::CanCastTo
Menunjukkan apakah ID antarmuka yang ditentukan dapat ditransmisikan ke setiap spesialisasi yang ditentukan oleh parameter templat non-default.
__forceinline bool CanCastTo(
REFIID riid,
_Deref_out_ void **ppv
);
Parameter
riid
ID antarmuka.
ppv
Penunjuk ke ID antarmuka terakhir yang berhasil dilemparkan.
Tampilkan Nilai
true
jika semua operasi pemeran berhasil; jika tidak, false
.
ChainInterfaces::CastToUnknown
Mentransmisikan penunjuk antarmuka jenis yang ditentukan oleh parameter templat I0 ke penunjuk ke IUnknown
.
__forceinline IUnknown* CastToUnknown();
Tampilkan Nilai
Pointer ke IUnknown
.
ChainInterfaces::FillArrayWithIid
Menyimpan ID antarmuka yang ditentukan oleh parameter templat I0 ke lokasi tertentu dalam array ID antarmuka tertentu.
__forceinline static void FillArrayWithIid(
_Inout_ unsigned long &index,
_In_ IID* iids
);
Parameter
index
Penunjuk ke nilai indeks ke dalam array iids .
iids
Array ID antarmuka.
ChainInterfaces::IidCount
Jumlah total ID antarmuka yang terkandung dalam antarmuka yang ditentukan oleh parameter templat I0 hingga I9.
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;
Tampilkan Nilai
Jumlah total ID antarmuka.
Keterangan
Parameter templat I0 dan I1 diperlukan, dan parameter I2 hingga I9 bersifat opsional. Jumlah IID dari setiap antarmuka biasanya 1.
ChainInterfaces::Verify
Memverifikasi bahwa setiap antarmuka yang ditentukan oleh parameter templat I0 hingga I9 mewarisi dari IUnknown
dan/atau IInspectable
, dan bahwa I0 mewarisi dari I1 hingga I9.
WRL_NOTHROW __forceinline static void Verify();
Keterangan
Jika operasi verifikasi gagal, memancarkan static_assert
pesan kesalahan yang menjelaskan kegagalan.
Parameter templat I0 dan I1 diperlukan, dan parameter I2 hingga I9 bersifat opsional.