source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/inspectable.h@ 1170

Last change on this file since 1170 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

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