ImplementsHelper 结构
支持 WRL 基础结构,不应在代码中直接使用。
语法
template <typename RuntimeClassFlagsT, typename ILst, bool IsDelegateToClass>
friend struct Details::ImplementsHelper;
参数
RuntimeClassFlagsT
一个标志字段,指定一个或多个 RuntimeClassType 枚举器。
ILst
接口 ID 的列表。
IsDelegateToClass
若当前实例 Implements
为 ILst 中第一个接口 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
如果此操作成功,则为指向 riid 或 iid 指定的接口的指针。
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 数。