Windows Dev Center

Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Implements Structure

Implements QueryInterface and GetIid for the specified interfaces.

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;

I0

The zeroth interface ID. (Mandatory)

I1

The first interface ID. (Optional)

I2

The second interface ID. (Optional)

I3

The third interface ID. (Optional)

I4

The fourth interface ID. (Optional)

I5

The fifth interface ID. (Optional)

I6

The sixth interface ID. (Optional)

I7

The seventh interface ID. (Optional)

I8

The eigth interface ID. (Optional)

I9

The ninth interface ID. (Optional)

flags

Configuration flags for the class. One or more RuntimeClassType enumerations that are specified in a RuntimeClassFlags structure.

Derives from the list of specified interfaces and implements helper templates for QueryInterface and GetIid.

Each I0 through I9 interface parameter must derive from either IUnknown, IInspectable, or the ChainInterfaces template. The flags parameter determines whether support is generated for IUnknown or IInspectable.

Name

Description

ClassFlags

A synonym for RuntimeClassFlags<WinRt>.

Name

Description

Implements::CanCastTo Method

Gets a pointer to the specified interface.

Implements::CastToUnknown Method

Gets a pointer to the underlying IUnknown interface.

Implements::FillArrayWithIid Method

Inserts the interface ID specified by the current zeroth template parameter into the specified array element.

Name

Description

Implements::IidCount Constant

Holds the number of implemented interface IDs.

I0

ChainInterfaces

I0

ImplementsBase

ImplementsHelper

Implements

Header: implements.h

Namespace: Microsoft::WRL

Show:
© 2015 Microsoft