Edit

Share via


InvokeHelper Structure

Supports the WRL infrastructure and is not intended to be used directly from your code.

Syntax

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
    >;

Parameters

TDelegateInterface
The delegate interface type.

TCallback
The type of the event handler function.

argCount
The number of arguments in an InvokeHelper specialization.

Remarks

Provides an implementation of the Invoke() method based on the specified number and type of arguments.

Members

Public Typedefs

Name Description
Traits A synonym for the class that defines the type of each event handler argument.

Public Constructors

Name Description
InvokeHelper::InvokeHelper Initializes a new instance of the InvokeHelper class.

Public Methods

Name Description
InvokeHelper::Invoke Calls the event handler whose signature contains the specified number of arguments.

Public Data Members

Name Description
InvokeHelper::callback_ Represents the event handler to call when an event occurs.

Inheritance Hierarchy

InvokeHelper

Requirements

Header: event.h

Namespace: Microsoft::WRL::Details

InvokeHelper::callback_

Supports the WRL infrastructure and is not intended to be used directly from your code.

TCallback callback_;

Remarks

Represents the event handler to call when an event occurs.

The TCallback template parameter specifies the type of the event handler.

InvokeHelper::Invoke

Supports the WRL infrastructure and is not intended to be used directly from your code.

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;

Parameters

arg1
Argument 1.

arg2
Argument 2.

arg3
Argument 3.

arg4
Argument 4.

arg5
Argument 5.

arg6
Argument 6.

arg7
Argument 7.

arg8
Argument 8.

arg9
Argument 9.

Return Value

S_OK if successful; otherwise, an HRESULT that describes the error.

Remarks

Calls the event handler whose signature contains the specified number of arguments.

InvokeHelper::InvokeHelper

Supports the WRL infrastructure and is not intended to be used directly from your code.

explicit InvokeHelper(
   TCallback callback
);

Parameters

callback
An event handler.

Remarks

Initializes a new instance of the InvokeHelper class.

The TCallback template parameter specifies the type of the event handler.