InvokeHelper 结构
支持 WRL 基础结构,不应在代码中直接使用。
语法
template<typename TDelegateInterface, typename TCallback, unsigned int argCount>
struct InvokeHelper;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 0> :
public Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 1> :
public Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 2> :
public Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 3> :
public Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 4> :
Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 5> :
Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 6> :
Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 7> :
Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 8> :
Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
template<typename TDelegateInterface, typename TCallback>
struct InvokeHelper<TDelegateInterface, TCallback, 9> :
Microsoft::WRL::RuntimeClass<
RuntimeClassFlags<Delegate>,
TDelegateInterface
>;
参数
TDelegateInterface
委托接口类型。
TCallback
事件处理程序函数的类型。
argCount
InvokeHelper
专用化中的参数数量。
备注
根据指定的实参数量和类型提供 Invoke()
方法的实现。
成员
公共 Typedef
名称 | 描述 |
---|---|
Traits |
类的同义词,可定义每个事件处理程序参数类型。 |
公共构造函数
名称 | 描述 |
---|---|
InvokeHelper::InvokeHelper | 初始化 InvokeHelper 类的新实例。 |
公共方法
名称 | 描述 |
---|---|
InvokeHelper::Invoke | 调用事件处理程序,其签名包含指定数量的参数。 |
公共数据成员
“属性” | 描述 |
---|---|
InvokeHelper::callback_ | 表示事件发生时要调用的事件处理程序。 |
继承层次结构
InvokeHelper
要求
标头:event.h
命名空间:Microsoft::WRL::Details
InvokeHelper::callback_
支持 WRL 基础结构,不应在代码中直接使用。
TCallback callback_;
备注
表示事件发生时要调用的事件处理程序。
TCallback
模板参数指定事件处理程序的类型。
InvokeHelper::Invoke
支持 WRL 基础结构,不应在代码中直接使用。
STDMETHOD(
Invoke
)();
STDMETHOD(
Invoke
)(typename Traits;
STDMETHOD(
Invoke
)( typename Traits;
STDMETHOD(
Invoke
)( typename Traits;
STDMETHOD(
Invoke
)( typename Traits;
STDMETHOD(
Invoke
)( typename Traits;
STDMETHOD(
Invoke
)( typename Traits;
STDMETHOD(
Invoke
)( typename Traits;
STDMETHOD(
Invoke
)( typename Traits;
STDMETHOD(
Invoke
)( typename Traits;
参数
arg1
参数 1。
arg2
参数 2。
arg3
参数 3。
arg4
参数 4。
arg5
参数 5。
arg6
参数 6。
arg7
参数 7。
arg8
参数 8。
arg9
参数 9。
返回值
如果成功,则为 S_OK;否则为描述错误的 HRESULT。
注解
调用事件处理程序,其签名包含指定数量的参数。
InvokeHelper::InvokeHelper
支持 WRL 基础结构,不应在代码中直接使用。
explicit InvokeHelper(
TCallback callback
);
参数
callback
事件处理程序。
注解
初始化 InvokeHelper
类的新实例。
TCallback
模板参数指定事件处理程序的类型。