ImplementsHelper Structure
Supports the WRL infrastructure and is not intended to be used directly from your code.
Syntax
template <typename RuntimeClassFlagsT, typename ILst, bool IsDelegateToClass>
friend struct Details::ImplementsHelper;
Parameters
RuntimeClassFlagsT
A field of flags that specifies one or more RuntimeClassType enumerators.
ILst
A list of interface IDs.
IsDelegateToClass
Specify true
if the current instance of Implements
is a base class of the first interface ID in ILst; otherwise, false
.
Remarks
Helps implement the Implements structure.
This template traverses a list of interfaces and adds them as base classes, and as information necessary to enable QueryInterface
.
Members
Protected Methods
Name | Description |
---|---|
ImplementsHelper::CanCastTo | Gets a pointer to the specified interface ID. |
ImplementsHelper::CastToUnknown | Gets a pointer to the underlying IUnknown interface for the current Implements structure. |
ImplementsHelper::FillArrayWithIid | Inserts the interface ID specified by the current zeroth template parameter into the specified array element. |
ImplementsHelper::IidCount | Holds the number of implemented interface IDs in the current Implements object. |
Inheritance Hierarchy
ImplementsHelper
Requirements
Header: implements.h
Namespace: Microsoft::WRL::Details
ImplementsHelper::CanCastTo
Supports the WRL infrastructure and is not intended to be used directly from your code.
HRESULT CanCastTo(
REFIID riid,
_Deref_out_ void **ppv
);
HRESULT CanCastTo(
_In_ const IID &iid,
_Deref_out_ void **ppv
);
Parameters
riid
Reference to an interface ID.
ppv
If this operation is successful, a pointer to the interface specified by riid or iid.
iid
Reference to an interface ID.
Return Value
S_OK if successful; otherwise, an HRESULT that indicates the error.
Remarks
Gets a pointer to the specified interface ID.
ImplementsHelper::CastToUnknown
Supports the WRL infrastructure and is not intended to be used directly from your code.
IUnknown* CastToUnknown();
Return Value
Pointer to the underlying IUnknown
interface.
Remarks
Gets a pointer to the underlying IUnknown
interface for the current Implements
structure.
ImplementsHelper::FillArrayWithIid
Supports the WRL infrastructure and is not intended to be used directly from your code.
void FillArrayWithIid(
_Inout_ unsigned long *index,
_Inout_ IID* iids) throw();
Parameters
index
A zero-based index that indicates the starting array element for this operation. When this operation completes, index is incremented by 1.
iids
An array of type IIDs.
Remarks
Inserts the interface ID specified by the current zeroth template parameter into the specified array element.
ImplementsHelper::IidCount
Supports the WRL infrastructure and is not intended to be used directly from your code.
static const unsigned long IidCount;
Remarks
Holds the number of implemented interface IDs in the current Implements
object.