11---
22title : " RuntimeClassBaseT Structure | Microsoft Docs"
33ms.custom : " "
4- ms.date : " 11/04/2016 "
4+ ms.date : " 09/24/2018 "
55ms.technology : ["cpp-windows"]
66ms.topic : " reference"
7- f1_keywords : ["implements/Microsoft::WRL::Details::RuntimeClassBaseT"]
7+ f1_keywords : ["implements/Microsoft::WRL::Details::RuntimeClassBaseT", "implements/Microsoft::WRL::Details::RuntimeClassBaseT::AsIID", "implements/Microsoft::WRL::Details::RuntimeClassBaseT::GetImplementedIIDS" ]
88dev_langs : ["C++"]
9+ helpviewer_keywords : ["Microsoft::WRL::Details::RuntimeClassBaseT structure", "Microsoft::WRL::Details::RuntimeClassBaseT::AsIID method", "Microsoft::WRL::Details::RuntimeClassBaseT::GetImplementedIIDS method"]
910ms.assetid : a62775fb-3359-4f45-9ff1-c07fa8da464b
1011author : " mikeblome"
1112ms.author : " mblome"
@@ -35,6 +36,13 @@ Provides helper methods for `QueryInterface` operations and getting interface ID
3536
3637## Members
3738
39+ ### Protected Methods
40+
41+ Name | Description
42+ ------------------------------------------------------------ | -----------------------------------------------------------------------------
43+ [RuntimeClassBaseT::AsIID](#asiid) | Retrieves a pointer to the specified interface ID.
44+ [RuntimeClassBaseT::GetImplementedIIDS](#getimplementediids) | Retrieves an array of interface IDs that are implemented by a specified type.
45+
3846## Inheritance Hierarchy
3947
4048`RuntimeClassBaseT`
@@ -45,6 +53,72 @@ Provides helper methods for `QueryInterface` operations and getting interface ID
4553
4654**Namespace:** Microsoft::WRL::Details
4755
48- ## See Also
56+ ## <a name="asiid"></a>RuntimeClassBaseT::AsIID
57+
58+ Supports the WRL infrastructure and is not intended to be used directly from your code.
59+
60+ ```cpp
61+ template<typename T>
62+ __forceinline static HRESULT AsIID(
63+ _In_ T* implements,
64+ REFIID riid,
65+ _Deref_out_ void **ppvObject
66+ );
67+ ```
68+
69+ ### Parameters
70+
71+ * T* <br />
72+ A type that implements the interface ID specified by parameter * riid* .
73+
74+ * implements* <br />
75+ A variable of the type specified by template parameter * T* .
76+
77+ * riid* <br />
78+ The interface ID to retrieve.
79+
80+ * ppvObject* <br />
81+ If this operation is successful, a pointer-to-a-pointer to the interface specified by parameter * riid* .
82+
83+ ### Return Value
84+
85+ S_OK if successful; otherwise, an HRESULT that describes the error.
86+
87+ ### Remarks
88+
89+ Retrieves a pointer to the specified interface ID.
90+
91+ ## <a name =" getimplementediids " ></a >RuntimeClassBaseT::GetImplementedIIDS
92+
93+ Supports the WRL infrastructure and is not intended to be used directly from your code.
94+
95+ ``` cpp
96+ template <typename T>
97+ __forceinline static HRESULT GetImplementedIIDS (
98+ _ In_ T* implements,
99+ _ Out_ ULONG * iidCount,
100+ _ Deref_out_ _ Deref_post_cap_ (* iidCount) IID ** iids
101+ );
102+ ```
103+
104+ ### Parameters
105+
106+ * T* <br />
107+ The type of the * implements* parameter.
108+
109+ * implements* <br />
110+ Pointer to the type specified by parameter * T* .
111+
112+ * iidCount* <br />
113+ The maximum number of interface IDs to retrieve.
114+
115+ * iids* <br />
116+ If this operation completes successfully, an array of the interface IDs implemented by type * T* .
117+
118+ ### Return Value
119+
120+ S_OK if successful; otherwise, an HRESULT that describes the error.
121+
122+ ### Remarks
49123
50- [Microsoft::WRL::Details Namespace](../windows/microsoft-wrl-details-namespace.md)
124+ Retrieves an array of interface IDs that are implemented by a specified type.
0 commit comments