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