Share via


InterfaceTraits Structure

Supports the WRL infrastructure and is not intended to be used directly from your code.

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

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

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

Parameters

  • I0
    The name of an interface.

  • CloakedType
    For RuntimeClass, Implements and ChainInterfaces, an interface that won't be in the list of supported interface IDs.

Remarks

Implements common characteristics of an interface.

The second template is a specialization for cloaked interfaces. The third template is a specialization for Nil parameters.

Members

Public Typedefs

Name

Description

Base

A synonym for the I0 template parameter.

Public Methods

Name

Description

InterfaceTraits::CanCastTo Method

Indicates whether the specified pointer can be cast to a pointer to Base.

InterfaceTraits::CastToBase Method

Casts the specified pointer to a pointer to Base.

InterfaceTraits::CastToUnknown Method

Casts the specified pointer to a pointer to IUnknown.

InterfaceTraits::FillArrayWithIid Method

Assigns the interface ID of Base to the array element specified by the index argument.

InterfaceTraits::Verify Method

Verifies that Base is properly derived.

Public Constants

Name

Description

InterfaceTraits::IidCount Constant

Holds the number of interface IDs associated with the current InterfaceTraits object.

Inheritance Hierarchy

InterfaceTraits

Requirements

Header: implements.h

Namespace: Microsoft::WRL::Details

See Also

Reference

Microsoft::WRL::Details Namespace