ImplementsHelper 结构

支持 WRL 基础结构,不应在代码中直接使用。

语法

template <typename RuntimeClassFlagsT, typename ILst, bool IsDelegateToClass>
friend struct Details::ImplementsHelper;

参数

RuntimeClassFlagsT
一个标志字段,指定一个或多个 RuntimeClassType 枚举器。

ILst
接口 ID 的列表。

IsDelegateToClass
若当前实例 ImplementsILst 中第一个接口 ID 的基类,则指定 true;否则指定 false

备注

帮助实现 Implements 结构。

此模板遍历接口列表,并将其添加为基类,以及启用 QueryInterface 所需的信息。

成员

受保护方法

名称 描述
ImplementsHelper::CanCastTo 获取指向指定接口 ID 的指针。
ImplementsHelper::CastToUnknown 获取指向当前 Implements 结构的基础 IUnknown 接口的指针。
ImplementsHelper::FillArrayWithIid 将当前零模板参数指定的接口 ID 插入指定的数组元素。
ImplementsHelper::IidCount 保存当前 Implements 对象中实现的接口 ID 数。

继承层次结构

ImplementsHelper

要求

标头:implements.h

命名空间:Microsoft::WRL::Details

ImplementsHelper::CanCastTo

支持 WRL 基础结构,不应在代码中直接使用。

HRESULT CanCastTo(
   REFIID riid,
   _Deref_out_ void **ppv
);

HRESULT CanCastTo(
   _In_ const IID &iid,
   _Deref_out_ void **ppv
);

参数

riid
对接口 ID 的引用。

ppv
如果此操作成功,则为指向 riidiid 指定的接口的指针。

iid
对接口 ID 的引用。

返回值

如果成功,则为 S_OK;否则为指示错误的 HRESULT。

备注

获取指向指定接口 ID 的指针。

ImplementsHelper::CastToUnknown

支持 WRL 基础结构,不应在代码中直接使用。

IUnknown* CastToUnknown();

返回值

指向基础 IUnknown 接口的指针。

备注

获取指向当前 Implements 结构的基础 IUnknown 接口的指针。

ImplementsHelper::FillArrayWithIid

支持 WRL 基础结构,不应在代码中直接使用。

void FillArrayWithIid(
   _Inout_ unsigned long *index,
   _Inout_ IID* iids) throw();

参数

index
一个从零开始的索引,指示此操作的起始数组元素。 此操作完成后,索引将递增 1。

iids
IID 类型的数组。

备注

将当前零模板参数指定的接口 ID 插入指定的数组元素。

ImplementsHelper::IidCount

支持 WRL 基础结构,不应在代码中直接使用。

static const unsigned long IidCount;

备注

保存当前 Implements 对象中实现的接口 ID 数。