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__ 23 typedef interface IInspectable IInspectable; 24 #ifdef __cplusplus 25 interface 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 36 extern "C" { 37 #endif 38 39 typedef 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 50 DEFINE_GUID(IID_IInspectable, 0xaf86e2e0, 0xb12d, 0x4c6a, 0x9c,0x5a, 0xd7,0xaa,0x65,0x10,0x1e,0x90); 51 #if defined(__cplusplus) && !defined(CINTERFACE) 52 MIDL_INTERFACE("af86e2e0-b12d-4c6a-9c5a-d7aa65101e90") 53 IInspectable : 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 70 typedef 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 102 interface 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 ***/ 118 static FORCEINLINE HRESULT IInspectable_QueryInterface(IInspectable* This,REFIID riid,void **ppvObject) { 119 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 120 } 121 static FORCEINLINE ULONG IInspectable_AddRef(IInspectable* This) { 122 return This->lpVtbl->AddRef(This); 123 } 124 static FORCEINLINE ULONG IInspectable_Release(IInspectable* This) { 125 return This->lpVtbl->Release(This); 126 } 127 /*** IInspectable methods ***/ 128 static FORCEINLINE HRESULT IInspectable_GetIids(IInspectable* This,ULONG *iidCount,IID **iids) { 129 return This->lpVtbl->GetIids(This,iidCount,iids); 130 } 131 static FORCEINLINE HRESULT IInspectable_GetRuntimeClassName(IInspectable* This,HSTRING *className) { 132 return This->lpVtbl->GetRuntimeClassName(This,className); 133 } 134 static 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) 147 extern "C++" { IID_INS_ARGS_internal(T ** p)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 158 ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *); 159 unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *); 160 unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *); 161 void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *); 162 163 /* End additional prototypes */ 164 165 #ifdef __cplusplus 166 } 167 #endif 168 169 #endif /* __inspectable_h__ */ 170