1
1
---
2
2
title : " RuntimeClassBaseT Structure | Microsoft Docs"
3
3
ms.custom : " "
4
- ms.date : " 11/04/2016 "
4
+ ms.date : " 09/24/2018 "
5
5
ms.technology : ["cpp-windows"]
6
6
ms.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" ]
8
8
dev_langs : ["C++"]
9
+ helpviewer_keywords : ["Microsoft::WRL::Details::RuntimeClassBaseT structure", "Microsoft::WRL::Details::RuntimeClassBaseT::AsIID method", "Microsoft::WRL::Details::RuntimeClassBaseT::GetImplementedIIDS method"]
9
10
ms.assetid : a62775fb-3359-4f45-9ff1-c07fa8da464b
10
11
author : " mikeblome"
11
12
ms.author : " mblome"
@@ -35,6 +36,13 @@ Provides helper methods for `QueryInterface` operations and getting interface ID
35
36
36
37
## Members
37
38
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
+
38
46
## Inheritance Hierarchy
39
47
40
48
`RuntimeClassBaseT`
@@ -45,6 +53,72 @@ Provides helper methods for `QueryInterface` operations and getting interface ID
45
53
46
54
**Namespace:** Microsoft::WRL::Details
47
55
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
49
123
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