RuntimeClassBaseT Structure

Supports the WRL infrastructure and is not intended to be used directly from your code.

Syntax

template <unsigned int RuntimeClassTypeT>
friend struct Details::RuntimeClassBaseT;

Parameters

RuntimeClassTypeT
A field of flags that specifies one or more RuntimeClassType enumerators.

Remarks

Provides helper methods for QueryInterface operations and getting interface IDs.

Members

Protected Methods

Name Description
RuntimeClassBaseT::AsIID Retrieves a pointer to the specified interface ID.
RuntimeClassBaseT::GetImplementedIIDS Retrieves an array of interface IDs that are implemented by a specified type.

Inheritance Hierarchy

RuntimeClassBaseT

Requirements

Header: implements.h

Namespace: Microsoft::WRL::Details

RuntimeClassBaseT::AsIID

Supports the WRL infrastructure and is not intended to be used directly from your code.

template<typename T>
__forceinline static HRESULT AsIID(
   _In_ T* implements,
   REFIID riid,
   _Deref_out_ void **ppvObject
);

Parameters

T
A type that implements the interface ID specified by parameter riid.

implements
A variable of the type specified by template parameter T.

riid
The interface ID to retrieve.

ppvObject
If this operation is successful, a pointer-to-a-pointer to the interface specified by parameter riid.

Return Value

S_OK if successful; otherwise, an HRESULT that describes the error.

Remarks

Retrieves a pointer to the specified interface ID.

RuntimeClassBaseT::GetImplementedIIDS

Supports the WRL infrastructure and is not intended to be used directly from your code.

template<typename T>
__forceinline static HRESULT GetImplementedIIDS(
   _In_ T* implements,
   _Out_ ULONG *iidCount,
   _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids
);

Parameters

T
The type of the implements parameter.

implements
Pointer to the type specified by parameter T.

iidCount
The maximum number of interface IDs to retrieve.

iids
If this operation completes successfully, an array of the interface IDs implemented by type T.

Return Value

S_OK if successful; otherwise, an HRESULT that describes the error.

Remarks

Retrieves an array of interface IDs that are implemented by a specified type.