Implements 结构

指定接口的实现 QI 和 GetIid。

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;

参数

  • I0
    zeroth 接口 ID.(需要)

  • I1
    第一个接口 ID.(可选)

  • I2
    第二个接口 ID.(可选)

  • I3
    第三个接口 ID.(可选)

  • I4
    第四个接口 ID.(可选)

  • I5
    第五个接口 ID.(可选)

  • I6
    第六个接口 ID.(可选)

  • I7
    第七个接口 ID.(可选)

  • I8
    第八个接口 ID.(可选)

  • I9
    第九个接口 ID.(可选)

  • flags
    类的配置标志。在 RuntimeClassFlags 结构指定的一个或多 RuntimeClassType 枚举。

备注

从指定的接口列表派生并实现 QI 和 GetIid 的帮助器模板。

每 I0 通过 I9 接口参数必须从 IUnknown, IInspectable 或 ChainInterfaces 模板派生。flags 参数确定是否支持 IUnknown 或 IInspectable 生成。

成员

BR230423.collapse_all(zh-cn,VS.110).gif公共 Typedef

名称升级过程中或新数据库需要 -ra 参数

说明

ClassFlags

RuntimeClassFlags<WinRt>的同义词。

BR230423.collapse_all(zh-cn,VS.110).gif受保护的方法

名称升级过程中或新数据库需要 -ra 参数

说明

Implements::CanCastTo 方法

具有指针了指定接口。

Implements::CastToUnknown 方法

获取一个指向基础 IUnknown 接口。

Implements::FillArrayWithIid 方法

插入当前 zeroth 模板参数指定的接口 ID 到指定的数组元素中。

BR230423.collapse_all(zh-cn,VS.110).gif受保护的常数

名称升级过程中或新数据库需要 -ra 参数

说明

Implements::IidCount 常量

保存实现的接口 ID 的数目。

继承层次结构

I0

ChainInterfaces

I0

ImplementsBase

ImplementsHelper

Implements

要求

标题: implements.h

命名空间: Microsoft:: WRL

请参见

参考

Microsoft::WRL 命名空间