Partilhar via


Implementa estrutura

Implementa QueryInterface e GetIid para as interfaces especificadas.

template <
   typename I0,
   typename I1 = Details::Nil,
   typename I2 = Details::Nil,
   typename I3 = Details::Nil,
   typename I4 = Details::Nil,
   typename I5 = Details::Nil,
   typename I6 = Details::Nil,
   typename I7 = Details::Nil,
   typename I8 = Details::Nil,
   typename I9 = Details::Nil
>
struct __declspec(novtable) Implements : Details::ImplementsHelper<RuntimeClassFlags<WinRt>, typename Details::InterfaceListHelper<I0, I1, I2, I3, I4, I5, I6, I7, I8, I9>::TypeT>, Details::ImplementsBase;
template <
   int flags,
   typename I0,
   typename I1,
   typename I2,
   typename I3,
   typename I4,
   typename I5,
   typename I6,
   typename I7,
   typename I8
>
struct __declspec(novtable) Implements<RuntimeClassFlags<flags>, I0, I1, I2, I3, I4, I5, I6, I7, I8> : Details::ImplementsHelper<RuntimeClassFlags<flags>, typename Details::InterfaceListHelper<I0, I1, I2, I3, I4, I5, I6, I7, I8>::TypeT>, Details::ImplementsBase;

Parâmetros

  • I0
    A ID de interface número zero. (Obrigatório)

  • I1
    A primeira ID de interface. (Opcional)

  • I2
    A segunda ID de interface. (Opcional)

  • I3
    A terceira ID de interface. (Opcional)

  • I4
    A quarta ID de interface. (Opcional)

  • I5
    A quinta ID de interface. (Opcional)

  • I6
    A sexta ID de interface. (Opcional)

  • I7
    A sétima ID de interface. (Opcional)

  • I8
    A oitava ID de interface. (Opcional)

  • I9
    A nona ID de interface. (Opcional)

  • flags
    Sinalizadores de configuração da classe. Uma ou mais de RuntimeClassType enumerações que são especificadas em uma estrutura de RuntimeClassFlags .

Comentários

É derivado da lista de interfaces especificadas e modelos implementa-se auxiliar para QueryInterface e GetIid.

Cada I0 com o parâmetro da interface de I9 deve derivar IUnknown, IInspectable, ou modelo de ChainInterfaces . O parâmetro de flags determina se o suporte é gerado para IUnknown ou IInspectable.

Membros

Typedefs Públicas

Nome

Descrição

ClassFlags

Um sinônimo de RuntimeClassFlags<WinRt>.

Métodos Protegidos

Nome

Descrição

Método Implements::CanCastTo

Obtém um ponteiro para a interface especificada.

Método Implements::CastToUnknown

Obtém um ponteiro para a interface IUnknown subjacente.

Método Implements::FillArrayWithIid

Insere a ID da interface especificado pelo parâmetro atual do modelo de zeroth no elemento da matriz especificado.

Constantes protegidas

Nome

Descrição

Constante Implements::IidCount

Contém o número de IDs implementados da interface.

Hierarquia de Herança

I0

ChainInterfaces

I0

ImplementsBase

ImplementsHelper

Implements

Requisitos

Cabeçalho: implements.h

Namespace: Microsoft::WRL

Consulte também

Referência

Namespace Microsoft::WRL