Share via


RuntimeClass Class

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at RuntimeClass Class.

Represents an instantiated class that inherits the specified number of interfaces, and provides the specified Windows Runtime, classic COM, and weak reference support.

You typically derive your WRL types from RuntimeClass because this class implements AddRef, Release, and QueryInterface, and helps manage the overall reference count of the module.

Syntax

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  
>  
class RuntimeClass : public Details::RuntimeClass<typename Details::InterfaceListHelper<I0, I1, I2, I3, I4, I5, I6, I7, I8, I9>::TypeT, RuntimeClassFlags<WinRt>>;  
  
template <  
   unsigned int classFlags,  
   typename I0,  
   typename I1,  
   typename I2,  
   typename I3,  
   typename I4,  
   typename I5,  
   typename I6,  
   typename I7,  
   typename I8  
>  
class RuntimeClass<RuntimeClassFlags<classFlags>, I0, I1, I2, I3, I4, I5, I6, I7, I8> : public Details::RuntimeClass<typename Details::InterfaceListHelper<I0, I1, I2, I3, I4, I5, I6, I7, I8>::TypeT, RuntimeClassFlags<classFlags> >;  

Parameters

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)

classFlags
A combination of one or more RuntimeClassType enumeration values.

Members

Public Constructors

Name Description
RuntimeClass::RuntimeClass Constructor Initializes the current instance of the RuntimeClass class.
RuntimeClass::~RuntimeClass Destructor Deinitializes the current instance of the RuntimeClass class.

Inheritance Hierarchy

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

RuntimeClass

Requirements

Header: implements.h

Namespace: Microsoft::WRL

See Also

Microsoft::WRL Namespace