Partilhar via


Estrutura ArgTraits

Suporta a infraestrutura WRL e não se destina a ser usado diretamente do seu código.

Sintaxe

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

Parâmetros

TMemberFunction
Parâmetro Typename de uma estrutura ArgTraits que não pode corresponder a nenhum método de assinatura Invoke.

TDelegateInterface
Uma interface delegada.

TArg1
O tipo do primeiro argumento do método Invoke.

TArg2
O tipo do segundo argumento do método Invoke.

TArg3
O tipo do terceiro argumento do método Invoke.

TArg4
O tipo do quarto argumento do método Invoke.

TArg5
O tipo do quinto argumento do método Invoke.

TArg6
O tipo do sexto argumento do método Invoke.

TArg7
O tipo do sétimo argumento do método Invoke.

TArg8
O tipo do oitavo argumento do método Invoke.

TArg9
O tipo do nono argumento do método Invoke.

Comentários

A estrutura ArgTraits declara uma interface de delegado especificada e uma função de membro anônima que tem um número especificado de parâmetros.

Membros

Typedefs públicos

Nome Descrição
Arg1Type O typedef de TArg1.
Arg2Type O typedef de TArg2.
Arg3Type O typedef de TArg3.
Arg4Type O typedef de TArg4.
Arg5Type O typedef de TArg5.
Arg6Type O typedef de TArg6.
Arg7Type O typedef de TArg7.
Arg8Type O typedef de TArg8.
Arg9Type O typedef de TArg9.

Constantes públicas

Nome Descrição
ArgTraits::args Mantém a contagem do número de parâmetros no método Invoke de uma interface delegada.

Hierarquia de herança

ArgTraits

Requisitos

Cabeçalho: event.h

Namespace: Microsoft::WRL::Details

ArgTraits::args

Suporta a infraestrutura WRL e não se destina a ser usado diretamente do seu código.

static const int args = -1;

Comentários

Mantém a contagem do número de parâmetros no método Invoke de uma interface delegada. Quando args é igual a -1, não pode haver correspondência para a assinatura do método Invoke.