description | title | ms.date | ms.topic | f1_keywords | helpviewer_keywords | ms.assetid | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Learn more about: ImplementsHelper Structure |
ImplementsHelper Structure |
10/03/2018 |
reference |
|
|
b857ba80-81bd-4e53-92b6-210991954243 |
Supports the WRL infrastructure and is not intended to be used directly from your code.
template <typename RuntimeClassFlagsT, typename ILst, bool IsDelegateToClass>
friend struct Details::ImplementsHelper;
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
.
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
.
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. |
ImplementsHelper
Header: implements.h
Namespace: Microsoft::WRL::Details
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
);
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.
S_OK if successful; otherwise, an HRESULT that indicates the error.
Gets a pointer to the specified interface ID.
Supports the WRL infrastructure and is not intended to be used directly from your code.
IUnknown* CastToUnknown();
Pointer to the underlying IUnknown
interface.
Gets a pointer to the underlying IUnknown
interface for the current Implements
structure.
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();
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.
Inserts the interface ID specified by the current zeroth template parameter into the specified array element.
Supports the WRL infrastructure and is not intended to be used directly from your code.
static const unsigned long IidCount;
Holds the number of implemented interface IDs in the current Implements
object.