Freigeben über


ArgTraits-Struktur

Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.

Syntax

template<typename TMemberFunction>
struct ArgTraits;

template<typename TDelegateInterface>
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(void)>;

template<typename TDelegateInterface, typename TArg1>
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1)>;

template<typename TDelegateInterface, typename TArg1, typename TArg2>
struct ArgTraits<
    HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2)>;

template<
    typename TDelegateInterface,
    typename TArg1,
    typename TArg2,
    typename TArg3
>
struct ArgTraits<
    HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3)>;

template<
    typename TDelegateInterface,
    typename TArg1,
    typename TArg2,
    typename TArg3,
    typename TArg4
>
struct ArgTraits<
    HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
             (TArg1, TArg2, TArg3, TArg4)>;

template<
    typename TDelegateInterface,
    typename TArg1,
    typename TArg2,
    typename TArg3,
    typename TArg4,
    typename TArg5
>
struct ArgTraits<
    HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
             (TArg1, TArg2, TArg3, TArg4, TArg5)>;

template<
    typename TDelegateInterface,
    typename TArg1,
    typename TArg2,
    typename TArg3,
    typename TArg4,
    typename TArg5,
    typename TArg6
>
struct ArgTraits<
    HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
             (TArg1, TArg2, TArg3, TArg4, TArg5, TArg6)>;

template<
    typename TDelegateInterface,
    typename TArg1,
    typename TArg2,
    typename TArg3,
    typename TArg4,
    typename TArg5,
    typename TArg6,
    typename TArg7
>
struct ArgTraits<
    HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
             (TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7)>;

template<
    typename TDelegateInterface,
    typename TArg1,
    typename TArg2,
    typename TArg3,
    typename TArg4,
    typename TArg5,
    typename TArg6,
    typename TArg7,
    typename TArg8
>
struct ArgTraits<
    HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
             (TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8)>;

template<
    typename TDelegateInterface,
    typename TArg1,
    typename TArg2,
    typename TArg3,
    typename TArg4,
    typename TArg5,
    typename TArg6,
    typename TArg7,
    typename TArg8,
    typename TArg9
>
struct ArgTraits<
    HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
             (TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9)>;

Parameter

TMemberFunction
Typename-Parameter für eine ArgTraits-Struktur, die keiner Invoke Methodensignatur entsprechen kann.

TDelegateInterface
Eine Stellvertretungsschnittstelle.

TArg1
Der Typ des ersten Arguments der Invoke Methode.

Targ2
Der Typ des zweiten Arguments der Invoke Methode.

Targ3
Der Typ des dritten Arguments der Invoke Methode.

TArg4
Der Typ des vierten Arguments der Invoke Methode.

TArg5
Der Typ des fünften Arguments der Invoke Methode.

TArg6
Der Typ des sechsten Arguments der Invoke Methode.

Targ7
Der Typ des siebten Arguments der Invoke Methode.

TArg8
Der Typ des achten Arguments der Invoke Methode.

TArg9
Der Typ des neunten Arguments der Invoke Methode.

Hinweise

Die ArgTraits Struktur deklariert eine angegebene Delegatschnittstelle und eine anonyme Memberfunktion mit einer angegebenen Anzahl von Parametern.

Member

Öffentliche Typedefs

Name Beschreibung
Arg1Type Der Typedef für TArg1.
Arg2Type Der Typedef für TArg2.
Arg3Type Der Typedef für TArg3.
Arg4Type Der Typedef für TArg4.
Arg5Type Der Typedef für TArg5.
Arg6Type Der Typedef für TArg6.
Arg7Type Der Typedef für TArg7.
Arg8Type Der Typedef für TArg8.
Arg9Type Der Typedef für TArg9.

Öffentliche Konstanten

Name Beschreibung
ArgTraits::args Die Anzahl der Parameter auf der Invoke Methode einer Stellvertretungsschnittstelle wird beibehalten.

Vererbungshierarchie

ArgTraits

Anforderungen

Header: event.h

Namespace: Microsoft::WRL::D etails

ArgTraits::args

Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.

static const int args = -1;

Hinweise

Die Anzahl der Parameter auf der Invoke Methode einer Stellvertretungsschnittstelle wird beibehalten. Wenn args gleich -1 ist, kann keine Übereinstimmung für die Invoke Methodensignatur vorhanden sein.