Aracılığıyla paylaş


InterfaceTraits Yapısı

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

Sözdizimi

template<typename I0>
struct __declspec(novtable) InterfaceTraits;

template<typename CloakedType>
struct __declspec(novtable) InterfaceTraits<
    CloakedIid<CloakedType>
>;

template<>
struct __declspec(novtable) InterfaceTraits<Nil>;

Parametreler

I0
Arabirimin adı.

CloakedType
, RuntimeClassImplements ve ChainInterfacesiçin, desteklenen arabirim kimlikleri listesinde yer almayacak bir arabirim.

Açıklamalar

Bir arabirimin ortak özelliklerini uygular.

İkinci şablon, gizlenmiş arabirimler için bir özelleştirmedir. Üçüncü şablon, Nil parametreleri için bir uzmanlıktır.

Üyeler

Genel Tür Tanımları

Veri Akışı Adı Açıklama
Base I0 şablon parametresinin eş anlamlısı.

Genel Yöntemler

Veri Akışı Adı Açıklama
InterfaceTraits::CanCastTo Belirtilen işaretçinin işaretçiye Baseatanıp alınamayacağını gösterir.
InterfaceTraits::CastToBase Belirtilen işaretçiyi işaretçiye alır Base.
InterfaceTraits::CastToUnknown Belirtilen işaretçiyi işaretçiye alır IUnknown.
InterfaceTraits::FillArrayWithIid arabirim kimliğini Base dizin bağımsız değişkeni tarafından belirtilen dizi öğesine atar.
InterfaceTraits::Verify Bunun doğru türetildiğini doğrular Base .

Genel Sabitler

Veri Akışı Adı Açıklama
InterfaceTraits::IidCount Geçerli InterfaceTraits nesneyle ilişkili arabirim kimliklerinin sayısını tutar.

Devralma Hiyerarşisi

InterfaceTraits

Gereksinimler

Üst bilgi: implements.h

Ad Alanı: Microsoft::WRL::D etails

InterfaceTraits::CanCastTo

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

template<typename T>
static __forceinline bool CanCastTo(
   _In_ T* ptr,
   REFIID riid,
   _Deref_out_ void **ppv
);

Parametreler

ptr
Türün işaretçisinin adı.

riid
arabirim kimliği Base.

ppv
Bu işlem başarılı olursa, ppv tarafından Basebelirtilen arabirime işaret eder. Aksi takdirde ppv olarak ayarlanırnullptr.

Dönüş Değeri

true bu işlem başarılı olursa ve ptr bir işaretçiye Baseatılırsa; aksi takdirde, false.

Açıklamalar

Belirtilen işaretçinin işaretçiye Baseatanıp alınamayacağını gösterir.

hakkında Basedaha fazla bilgi için Genel Tür Tanımları bölümüne bakın.

InterfaceTraits::CastToBase

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

template<typename T>
static __forceinline Base* CastToBase(
   _In_ T* ptr
);

Parametreler

T
Parametre ptr türü.

ptr
T türü işaretçisi.

Dönüş Değeri

için bir işaretçi Base.

Açıklamalar

Belirtilen işaretçiyi işaretçiye alır Base.

hakkında Basedaha fazla bilgi için Genel Tür Tanımları bölümüne bakın.

InterfaceTraits::CastToUnknown

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

template<typename T>
static __forceinline IUnknown* CastToUnknown(
   _In_ T* ptr
);

Parametreler

T
Parametre ptr türü.

ptr
T türüne işaret eden işaretçi.

Dönüş Değeri

Türetilen IUnknown Base işaretçisi.

Açıklamalar

Belirtilen işaretçiyi işaretçiye alır IUnknown.

hakkında Basedaha fazla bilgi için Genel Tür Tanımları bölümüne bakın.

InterfaceTraits::FillArrayWithIid

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

__forceinline static void FillArrayWithIid(
   _Inout_ unsigned long &index,
   _In_ IID* iids
);

Parametreler

Dizin
Sıfır tabanlı dizin değeri içeren bir alanın işaretçisi.

iid'ler
Arabirim kimlikleri dizisi.

Açıklamalar

arabirim kimliğini Base dizin bağımsız değişkeni tarafından belirtilen dizi öğesine atar.

Bu API'nin adının aksine, yalnızca bir dizi öğesi değiştirilir; dizinin tamamını değil.

hakkında Basedaha fazla bilgi için Genel Tür Tanımları bölümüne bakın.

InterfaceTraits::IidCount

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

static const unsigned long IidCount = 1;

Açıklamalar

Geçerli InterfaceTraits nesneyle ilişkili arabirim kimliklerinin sayısını tutar.

InterfaceTraits::Verify

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

__forceinline static void Verify();

Açıklamalar

Bunun doğru türetildiğini doğrular Base .

hakkında Basedaha fazla bilgi için Genel Tür Tanımları bölümüne bakın.