zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

inspectable.h (4874B) - Raw


      1 /*** Autogenerated by WIDL 10.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 inline HRESULT IInspectable_QueryInterface(IInspectable* This,REFIID riid,void **ppvObject) {
    119     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    120 }
    121 static inline ULONG IInspectable_AddRef(IInspectable* This) {
    122     return This->lpVtbl->AddRef(This);
    123 }
    124 static inline ULONG IInspectable_Release(IInspectable* This) {
    125     return This->lpVtbl->Release(This);
    126 }
    127 /*** IInspectable methods ***/
    128 static inline HRESULT IInspectable_GetIids(IInspectable* This,ULONG *iidCount,IID **iids) {
    129     return This->lpVtbl->GetIids(This,iidCount,iids);
    130 }
    131 static inline HRESULT IInspectable_GetRuntimeClassName(IInspectable* This,HSTRING *className) {
    132     return This->lpVtbl->GetRuntimeClassName(This,className);
    133 }
    134 static inline 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++" {
    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__ */