1 /*** Autogenerated by WIDL 1.6 from include/inspectable.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __inspectable_h__
16 #define __inspectable_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IInspectable_FWD_DEFINED__
21 #define __IInspectable_FWD_DEFINED__
22 typedef interface IInspectable IInspectable;
23 #endif
24 
25 /* Headers for imported files */
26 
27 #include <wtypes.h>
28 #include <hstring.h>
29 #include <unknwn.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 typedef enum TrustLevel {
36     BaseTrust = 0,
37     PartialTrust = 1,
38     FullTrust = 2
39 } TrustLevel;
40 /*****************************************************************************
41  * IInspectable interface
42  */
43 #ifndef __IInspectable_INTERFACE_DEFINED__
44 #define __IInspectable_INTERFACE_DEFINED__
45 
46 DEFINE_GUID(IID_IInspectable, 0xaf86e2e0, 0xb12d, 0x4c6a, 0x9c,0x5a, 0xd7,0xaa,0x65,0x10,0x1e,0x90);
47 #if defined(__cplusplus) && !defined(CINTERFACE)
48 MIDL_INTERFACE("af86e2e0-b12d-4c6a-9c5a-d7aa65101e90")
49 IInspectable : public IUnknown
50 {
51     virtual HRESULT STDMETHODCALLTYPE GetIids(
52         ULONG *iidCount,
53         IID **iids) = 0;
54 
55     virtual HRESULT STDMETHODCALLTYPE GetRuntimeClassName(
56         HSTRING *className) = 0;
57 
58     virtual HRESULT STDMETHODCALLTYPE GetTrustLevel(
59         TrustLevel *trustLevel) = 0;
60 
61 };
62 #ifdef __CRT_UUID_DECL
63 __CRT_UUID_DECL(IInspectable, 0xaf86e2e0, 0xb12d, 0x4c6a, 0x9c,0x5a, 0xd7,0xaa,0x65,0x10,0x1e,0x90)
64 #endif
65 #else
66 typedef struct IInspectableVtbl {
67     BEGIN_INTERFACE
68 
69     /*** IUnknown methods ***/
70     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
71         IInspectable* This,
72         REFIID riid,
73         void **ppvObject);
74 
75     ULONG (STDMETHODCALLTYPE *AddRef)(
76         IInspectable* This);
77 
78     ULONG (STDMETHODCALLTYPE *Release)(
79         IInspectable* This);
80 
81     /*** IInspectable methods ***/
82     HRESULT (STDMETHODCALLTYPE *GetIids)(
83         IInspectable* This,
84         ULONG *iidCount,
85         IID **iids);
86 
87     HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
88         IInspectable* This,
89         HSTRING *className);
90 
91     HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
92         IInspectable* This,
93         TrustLevel *trustLevel);
94 
95     END_INTERFACE
96 } IInspectableVtbl;
97 interface IInspectable {
98     CONST_VTBL IInspectableVtbl* lpVtbl;
99 };
100 
101 #ifdef COBJMACROS
102 #ifndef WIDL_C_INLINE_WRAPPERS
103 /*** IUnknown methods ***/
104 #define IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
105 #define IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
106 #define IInspectable_Release(This) (This)->lpVtbl->Release(This)
107 /*** IInspectable methods ***/
108 #define IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
109 #define IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
110 #define IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
111 #else
112 /*** IUnknown methods ***/
113 static FORCEINLINE HRESULT IInspectable_QueryInterface(IInspectable* This,REFIID riid,void **ppvObject) {
114     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
115 }
116 static FORCEINLINE ULONG IInspectable_AddRef(IInspectable* This) {
117     return This->lpVtbl->AddRef(This);
118 }
119 static FORCEINLINE ULONG IInspectable_Release(IInspectable* This) {
120     return This->lpVtbl->Release(This);
121 }
122 /*** IInspectable methods ***/
123 static FORCEINLINE HRESULT IInspectable_GetIids(IInspectable* This,ULONG *iidCount,IID **iids) {
124     return This->lpVtbl->GetIids(This,iidCount,iids);
125 }
126 static FORCEINLINE HRESULT IInspectable_GetRuntimeClassName(IInspectable* This,HSTRING *className) {
127     return This->lpVtbl->GetRuntimeClassName(This,className);
128 }
129 static FORCEINLINE HRESULT IInspectable_GetTrustLevel(IInspectable* This,TrustLevel *trustLevel) {
130     return This->lpVtbl->GetTrustLevel(This,trustLevel);
131 }
132 #endif
133 #endif
134 
135 #endif
136 
137 HRESULT STDMETHODCALLTYPE IInspectable_GetIids_Proxy(
138     IInspectable* This,
139     ULONG *iidCount,
140     IID **iids);
141 void __RPC_STUB IInspectable_GetIids_Stub(
142     IRpcStubBuffer* This,
143     IRpcChannelBuffer* pRpcChannelBuffer,
144     PRPC_MESSAGE pRpcMessage,
145     DWORD* pdwStubPhase);
146 HRESULT STDMETHODCALLTYPE IInspectable_GetRuntimeClassName_Proxy(
147     IInspectable* This,
148     HSTRING *className);
149 void __RPC_STUB IInspectable_GetRuntimeClassName_Stub(
150     IRpcStubBuffer* This,
151     IRpcChannelBuffer* pRpcChannelBuffer,
152     PRPC_MESSAGE pRpcMessage,
153     DWORD* pdwStubPhase);
154 HRESULT STDMETHODCALLTYPE IInspectable_GetTrustLevel_Proxy(
155     IInspectable* This,
156     TrustLevel *trustLevel);
157 void __RPC_STUB IInspectable_GetTrustLevel_Stub(
158     IRpcStubBuffer* This,
159     IRpcChannelBuffer* pRpcChannelBuffer,
160     PRPC_MESSAGE pRpcMessage,
161     DWORD* pdwStubPhase);
162 
163 #endif  /* __IInspectable_INTERFACE_DEFINED__ */
164 
165 
166 #if !defined (CINTERFACE) && defined (__cplusplus)
167 extern "C++" {
IID_INS_ARGS_internal(T ** p)168   template<typename T> void **IID_INS_ARGS_internal (T **p) {
169     static_cast<IInspectable *> (*p);
170     return reinterpret_cast<void **> (p);
171   }
172 }
173 
174 #define IID_INS_ARGS(P) __uuidof(**(P)), IID_INS_ARGS_internal(P)
175 #endif
176 /* Begin additional prototypes for all interfaces */
177 
178 ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
179 unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
180 unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
181 void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);
182 
183 /* End additional prototypes */
184 
185 #ifdef __cplusplus
186 }
187 #endif
188 
189 #endif /* __inspectable_h__ */
190