共用方式為


InterfaceTraits 結構

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

語法

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

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

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

參數

I0
介面的名稱。

CloakedType
針對 RuntimeClassImplementsChainInterfaces,介面不會出現在支援的介面識別符清單中。

備註

實作介面的常見特性。

第二個範本是遮蓋介面的特製化。 第三個範本是 Nil 參數的特製化。

成員

公用 Typedefs

名稱 描述
Base I0 樣本參數的同義字。

公用方法

名稱 描述
InterfaceTraits::CanCastTo 指出指定的指標是否可以轉換成 的 Base指標。
InterfaceTraits::CastToBase 將指定的指標轉換為 的 Base指標。
InterfaceTraits::CastToUnknown 將指定的指標轉換為 的 IUnknown指標。
InterfaceTraits::FillArrayWithIid 將的 Base 介面識別碼指派給索引自變數所指定的數位專案。
InterfaceTraits::Verify 驗證是否已 Base 正確衍生。

公用常數

名稱 描述
InterfaceTraits::IidCount 保存與目前 InterfaceTraits 對象相關聯的介面標識碼數目。

繼承階層架構

InterfaceTraits

需求

標頭: implements.h

命名空間: Microsoft::WRL::D etails

InterfaceTraits::CanCastTo

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

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

參數

ptr
型別指標的名稱。

riid
Base介面識別碼。

ppv
如果這項作業成功, ppv 會指向 所 Base指定的介面。 否則, ppv 會設定為 nullptr

傳回值

true 如果此工作成功且 ptr 轉換為 的 Base指標,則為 , false否則為 。

備註

指出指定的指標是否可以轉換成 的 Base指標。

如需 的詳細資訊 Base,請參閱 公用 Typedefs 一節。

InterfaceTraits::CastToBase

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

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

參數

T
參數 ptr 的類型。

ptr
類型 T 的指標。

傳回值

Base指標。

備註

將指定的指標轉換為 的 Base指標。

如需 的詳細資訊 Base,請參閱 公用 Typedefs 一節。

InterfaceTraits::CastToUnknown

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

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

參數

T
參數 ptr 的類型。

ptr
類型 T 的指標。

傳回值

衍生來源 Base 之 IUnknown 的指標。

備註

將指定的指標轉換為 的 IUnknown指標。

如需 的詳細資訊 Base,請參閱 公用 Typedefs 一節。

InterfaceTraits::FillArrayWithIid

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

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

參數

index
包含以零起始之索引值的欄位指標。

iids
介面識別碼的陣列。

備註

將的 Base 介面識別碼指派給索引自變數所指定的數位專案。

與此 API 的名稱相反,只會修改一個數位元素;不是整個陣列。

如需 的詳細資訊 Base,請參閱 公用 Typedefs 一節。

InterfaceTraits::IidCount

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

static const unsigned long IidCount = 1;

備註

保存與目前 InterfaceTraits 對象相關聯的介面標識碼數目。

InterfaceTraits::Verify

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

__forceinline static void Verify();

備註

驗證是否已 Base 正確衍生。

如需 的詳細資訊 Base,請參閱 公用 Typedefs 一節。