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++" { 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