Home | History | Annotate | Download | only in include
      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