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 模板参数指定事件处理程序的类型。