1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
8 #endif
9 
10 #include "rpc.h"
11 #include "rpcndr.h"
12 
13 #ifndef __RPCNDR_H_VERSION__
14 #error This stub requires an updated version of <rpcndr.h>
15 #endif
16 
17 #ifndef COM_NO_WINDOWS_H
18 #include "windows.h"
19 #include "ole2.h"
20 #endif
21 
22 #ifndef __iwamreg_h__
23 #define __iwamreg_h__
24 
25 #ifndef __IWamAdmin_FWD_DEFINED__
26 #define __IWamAdmin_FWD_DEFINED__
27 typedef struct IWamAdmin IWamAdmin;
28 #endif
29 
30 #ifndef __IWamAdmin2_FWD_DEFINED__
31 #define __IWamAdmin2_FWD_DEFINED__
32 typedef struct IWamAdmin2 IWamAdmin2;
33 #endif
34 
35 #ifndef __IIISApplicationAdmin_FWD_DEFINED__
36 #define __IIISApplicationAdmin_FWD_DEFINED__
37 typedef struct IIISApplicationAdmin IIISApplicationAdmin;
38 #endif
39 
40 #ifndef __WamAdmin_FWD_DEFINED__
41 #define __WamAdmin_FWD_DEFINED__
42 #ifdef __cplusplus
43 typedef class WamAdmin WamAdmin;
44 #else
45 typedef struct WamAdmin WamAdmin;
46 #endif
47 #endif
48 
49 #include "oaidl.h"
50 #include "ocidl.h"
51 #ifdef __cplusplus
52 extern "C"{
53 #endif
54 
55 #ifndef __MIDL_user_allocate_free_DEFINED__
56 #define __MIDL_user_allocate_free_DEFINED__
57   void *__RPC_API MIDL_user_allocate(size_t);
58   void __RPC_API MIDL_user_free(void *);
59 #endif
60 
61 #ifndef __WAMREG_IADM__IID
62 #define __WAMREG_IADM__IID
63   DEFINE_GUID(IID_IWamAdmin,0x29822AB7,0xF302,0x11D0,0x99,0x53,0x00,0xC0,0x4F,0xD9,0x19,0xC1);
64   DEFINE_GUID(IID_IWamAdmin2,0x29822AB8,0xF302,0x11D0,0x99,0x53,0x00,0xC0,0x4F,0xD9,0x19,0xC1);
65   DEFINE_GUID(IID_IIISApplicationAdmin,0x7C4E1804,0xE342,0x483D,0xA4,0x3E,0xA8,0x50,0xCF,0xCC,0x8D,0x18);
66   DEFINE_GUID(LIBID_WAMREGLib,0x29822AA8,0xF302,0x11D0,0x99,0x53,0x00,0xC0,0x4F,0xD9,0x19,0xC1);
67   DEFINE_GUID(CLSID_WamAdmin,0x61738644,0xF196,0x11D0,0x99,0x53,0x00,0xC0,0x4F,0xD9,0x19,0xC1);
68 #endif
69 
70 #define APPSTATUS_STOPPED 0
71 #define APPSTATUS_RUNNING 1
72 #define APPSTATUS_NOTDEFINED 2
73 
74   typedef enum __MIDL___MIDL_itf_wamreg_0000_0001 {
75     eAppRunInProc = 0,eAppRunOutProcIsolated,eAppRunOutProcInDefaultPool
76   } EAppMode;
77 
78   extern RPC_IF_HANDLE __MIDL_itf_wamreg_0000_v0_0_c_ifspec;
79   extern RPC_IF_HANDLE __MIDL_itf_wamreg_0000_v0_0_s_ifspec;
80 
81 #ifndef __IWamAdmin_INTERFACE_DEFINED__
82 #define __IWamAdmin_INTERFACE_DEFINED__
83   EXTERN_C const IID IID_IWamAdmin;
84 #if defined(__cplusplus) && !defined(CINTERFACE)
85   struct IWamAdmin : public IUnknown {
86   public:
87     virtual HRESULT WINAPI AppCreate(LPCWSTR szMDPath,WINBOOL fInProc) = 0;
88     virtual HRESULT WINAPI AppDelete(LPCWSTR szMDPath,WINBOOL fRecursive) = 0;
89     virtual HRESULT WINAPI AppUnLoad(LPCWSTR szMDPath,WINBOOL fRecursive) = 0;
90     virtual HRESULT WINAPI AppGetStatus(LPCWSTR szMDPath,DWORD *pdwAppStatus) = 0;
91     virtual HRESULT WINAPI AppDeleteRecoverable(LPCWSTR szMDPath,WINBOOL fRecursive) = 0;
92     virtual HRESULT WINAPI AppRecover(LPCWSTR szMDPath,WINBOOL fRecursive) = 0;
93   };
94 #else
95   typedef struct IWamAdminVtbl {
96     BEGIN_INTERFACE
97       HRESULT (WINAPI *QueryInterface)(IWamAdmin *This,REFIID riid,void **ppvObject);
98       ULONG (WINAPI *AddRef)(IWamAdmin *This);
99       ULONG (WINAPI *Release)(IWamAdmin *This);
100       HRESULT (WINAPI *AppCreate)(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fInProc);
101       HRESULT (WINAPI *AppDelete)(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
102       HRESULT (WINAPI *AppUnLoad)(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
103       HRESULT (WINAPI *AppGetStatus)(IWamAdmin *This,LPCWSTR szMDPath,DWORD *pdwAppStatus);
104       HRESULT (WINAPI *AppDeleteRecoverable)(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
105       HRESULT (WINAPI *AppRecover)(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
106     END_INTERFACE
107   } IWamAdminVtbl;
108   struct IWamAdmin {
109     CONST_VTBL struct IWamAdminVtbl *lpVtbl;
110   };
111 #ifdef COBJMACROS
112 #define IWamAdmin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
113 #define IWamAdmin_AddRef(This) (This)->lpVtbl->AddRef(This)
114 #define IWamAdmin_Release(This) (This)->lpVtbl->Release(This)
115 #define IWamAdmin_AppCreate(This,szMDPath,fInProc) (This)->lpVtbl->AppCreate(This,szMDPath,fInProc)
116 #define IWamAdmin_AppDelete(This,szMDPath,fRecursive) (This)->lpVtbl->AppDelete(This,szMDPath,fRecursive)
117 #define IWamAdmin_AppUnLoad(This,szMDPath,fRecursive) (This)->lpVtbl->AppUnLoad(This,szMDPath,fRecursive)
118 #define IWamAdmin_AppGetStatus(This,szMDPath,pdwAppStatus) (This)->lpVtbl->AppGetStatus(This,szMDPath,pdwAppStatus)
119 #define IWamAdmin_AppDeleteRecoverable(This,szMDPath,fRecursive) (This)->lpVtbl->AppDeleteRecoverable(This,szMDPath,fRecursive)
120 #define IWamAdmin_AppRecover(This,szMDPath,fRecursive) (This)->lpVtbl->AppRecover(This,szMDPath,fRecursive)
121 #endif
122 #endif
123   HRESULT WINAPI IWamAdmin_AppCreate_Proxy(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fInProc);
124   void __RPC_STUB IWamAdmin_AppCreate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
125   HRESULT WINAPI IWamAdmin_AppDelete_Proxy(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
126   void __RPC_STUB IWamAdmin_AppDelete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
127   HRESULT WINAPI IWamAdmin_AppUnLoad_Proxy(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
128   void __RPC_STUB IWamAdmin_AppUnLoad_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
129   HRESULT WINAPI IWamAdmin_AppGetStatus_Proxy(IWamAdmin *This,LPCWSTR szMDPath,DWORD *pdwAppStatus);
130   void __RPC_STUB IWamAdmin_AppGetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
131   HRESULT WINAPI IWamAdmin_AppDeleteRecoverable_Proxy(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
132   void __RPC_STUB IWamAdmin_AppDeleteRecoverable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
133   HRESULT WINAPI IWamAdmin_AppRecover_Proxy(IWamAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
134   void __RPC_STUB IWamAdmin_AppRecover_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
135 #endif
136 
137 #ifndef __IWamAdmin2_INTERFACE_DEFINED__
138 #define __IWamAdmin2_INTERFACE_DEFINED__
139   EXTERN_C const IID IID_IWamAdmin2;
140 #if defined(__cplusplus) && !defined(CINTERFACE)
141   struct IWamAdmin2 : public IWamAdmin {
142   public:
143     virtual HRESULT WINAPI AppCreate2(LPCWSTR szMDPath,DWORD dwAppMode) = 0;
144   };
145 #else
146   typedef struct IWamAdmin2Vtbl {
147     BEGIN_INTERFACE
148       HRESULT (WINAPI *QueryInterface)(IWamAdmin2 *This,REFIID riid,void **ppvObject);
149       ULONG (WINAPI *AddRef)(IWamAdmin2 *This);
150       ULONG (WINAPI *Release)(IWamAdmin2 *This);
151       HRESULT (WINAPI *AppCreate)(IWamAdmin2 *This,LPCWSTR szMDPath,WINBOOL fInProc);
152       HRESULT (WINAPI *AppDelete)(IWamAdmin2 *This,LPCWSTR szMDPath,WINBOOL fRecursive);
153       HRESULT (WINAPI *AppUnLoad)(IWamAdmin2 *This,LPCWSTR szMDPath,WINBOOL fRecursive);
154       HRESULT (WINAPI *AppGetStatus)(IWamAdmin2 *This,LPCWSTR szMDPath,DWORD *pdwAppStatus);
155       HRESULT (WINAPI *AppDeleteRecoverable)(IWamAdmin2 *This,LPCWSTR szMDPath,WINBOOL fRecursive);
156       HRESULT (WINAPI *AppRecover)(IWamAdmin2 *This,LPCWSTR szMDPath,WINBOOL fRecursive);
157       HRESULT (WINAPI *AppCreate2)(IWamAdmin2 *This,LPCWSTR szMDPath,DWORD dwAppMode);
158     END_INTERFACE
159   } IWamAdmin2Vtbl;
160   struct IWamAdmin2 {
161     CONST_VTBL struct IWamAdmin2Vtbl *lpVtbl;
162   };
163 #ifdef COBJMACROS
164 #define IWamAdmin2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
165 #define IWamAdmin2_AddRef(This) (This)->lpVtbl->AddRef(This)
166 #define IWamAdmin2_Release(This) (This)->lpVtbl->Release(This)
167 #define IWamAdmin2_AppCreate(This,szMDPath,fInProc) (This)->lpVtbl->AppCreate(This,szMDPath,fInProc)
168 #define IWamAdmin2_AppDelete(This,szMDPath,fRecursive) (This)->lpVtbl->AppDelete(This,szMDPath,fRecursive)
169 #define IWamAdmin2_AppUnLoad(This,szMDPath,fRecursive) (This)->lpVtbl->AppUnLoad(This,szMDPath,fRecursive)
170 #define IWamAdmin2_AppGetStatus(This,szMDPath,pdwAppStatus) (This)->lpVtbl->AppGetStatus(This,szMDPath,pdwAppStatus)
171 #define IWamAdmin2_AppDeleteRecoverable(This,szMDPath,fRecursive) (This)->lpVtbl->AppDeleteRecoverable(This,szMDPath,fRecursive)
172 #define IWamAdmin2_AppRecover(This,szMDPath,fRecursive) (This)->lpVtbl->AppRecover(This,szMDPath,fRecursive)
173 #define IWamAdmin2_AppCreate2(This,szMDPath,dwAppMode) (This)->lpVtbl->AppCreate2(This,szMDPath,dwAppMode)
174 #endif
175 #endif
176   HRESULT WINAPI IWamAdmin2_AppCreate2_Proxy(IWamAdmin2 *This,LPCWSTR szMDPath,DWORD dwAppMode);
177   void __RPC_STUB IWamAdmin2_AppCreate2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
178 #endif
179 
180 #ifndef __IIISApplicationAdmin_INTERFACE_DEFINED__
181 #define __IIISApplicationAdmin_INTERFACE_DEFINED__
182   EXTERN_C const IID IID_IIISApplicationAdmin;
183 #if defined(__cplusplus) && !defined(CINTERFACE)
184   struct IIISApplicationAdmin : public IUnknown {
185   public:
186     virtual HRESULT WINAPI CreateApplication(LPCWSTR szMDPath,DWORD dwAppMode,LPCWSTR szAppPoolId,WINBOOL fCreatePool) = 0;
187     virtual HRESULT WINAPI DeleteApplication(LPCWSTR szMDPath,WINBOOL fRecursive) = 0;
188     virtual HRESULT WINAPI CreateApplicationPool(LPCWSTR szPool) = 0;
189     virtual HRESULT WINAPI DeleteApplicationPool(LPCWSTR szPool) = 0;
190     virtual HRESULT WINAPI EnumerateApplicationsInPool(LPCWSTR szPool,BSTR *bstrBuffer) = 0;
191     virtual HRESULT WINAPI RecycleApplicationPool(LPCWSTR szPool) = 0;
192     virtual HRESULT WINAPI GetProcessMode(DWORD *pdwMode) = 0;
193   };
194 #else
195   typedef struct IIISApplicationAdminVtbl {
196     BEGIN_INTERFACE
197       HRESULT (WINAPI *QueryInterface)(IIISApplicationAdmin *This,REFIID riid,void **ppvObject);
198       ULONG (WINAPI *AddRef)(IIISApplicationAdmin *This);
199       ULONG (WINAPI *Release)(IIISApplicationAdmin *This);
200       HRESULT (WINAPI *CreateApplication)(IIISApplicationAdmin *This,LPCWSTR szMDPath,DWORD dwAppMode,LPCWSTR szAppPoolId,WINBOOL fCreatePool);
201       HRESULT (WINAPI *DeleteApplication)(IIISApplicationAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
202       HRESULT (WINAPI *CreateApplicationPool)(IIISApplicationAdmin *This,LPCWSTR szPool);
203       HRESULT (WINAPI *DeleteApplicationPool)(IIISApplicationAdmin *This,LPCWSTR szPool);
204       HRESULT (WINAPI *EnumerateApplicationsInPool)(IIISApplicationAdmin *This,LPCWSTR szPool,BSTR *bstrBuffer);
205       HRESULT (WINAPI *RecycleApplicationPool)(IIISApplicationAdmin *This,LPCWSTR szPool);
206       HRESULT (WINAPI *GetProcessMode)(IIISApplicationAdmin *This,DWORD *pdwMode);
207     END_INTERFACE
208   } IIISApplicationAdminVtbl;
209   struct IIISApplicationAdmin {
210     CONST_VTBL struct IIISApplicationAdminVtbl *lpVtbl;
211   };
212 #ifdef COBJMACROS
213 #define IIISApplicationAdmin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
214 #define IIISApplicationAdmin_AddRef(This) (This)->lpVtbl->AddRef(This)
215 #define IIISApplicationAdmin_Release(This) (This)->lpVtbl->Release(This)
216 #define IIISApplicationAdmin_CreateApplication(This,szMDPath,dwAppMode,szAppPoolId,fCreatePool) (This)->lpVtbl->CreateApplication(This,szMDPath,dwAppMode,szAppPoolId,fCreatePool)
217 #define IIISApplicationAdmin_DeleteApplication(This,szMDPath,fRecursive) (This)->lpVtbl->DeleteApplication(This,szMDPath,fRecursive)
218 #define IIISApplicationAdmin_CreateApplicationPool(This,szPool) (This)->lpVtbl->CreateApplicationPool(This,szPool)
219 #define IIISApplicationAdmin_DeleteApplicationPool(This,szPool) (This)->lpVtbl->DeleteApplicationPool(This,szPool)
220 #define IIISApplicationAdmin_EnumerateApplicationsInPool(This,szPool,bstrBuffer) (This)->lpVtbl->EnumerateApplicationsInPool(This,szPool,bstrBuffer)
221 #define IIISApplicationAdmin_RecycleApplicationPool(This,szPool) (This)->lpVtbl->RecycleApplicationPool(This,szPool)
222 #define IIISApplicationAdmin_GetProcessMode(This,pdwMode) (This)->lpVtbl->GetProcessMode(This,pdwMode)
223 #endif
224 #endif
225   HRESULT WINAPI IIISApplicationAdmin_CreateApplication_Proxy(IIISApplicationAdmin *This,LPCWSTR szMDPath,DWORD dwAppMode,LPCWSTR szAppPoolId,WINBOOL fCreatePool);
226   void __RPC_STUB IIISApplicationAdmin_CreateApplication_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
227   HRESULT WINAPI IIISApplicationAdmin_DeleteApplication_Proxy(IIISApplicationAdmin *This,LPCWSTR szMDPath,WINBOOL fRecursive);
228   void __RPC_STUB IIISApplicationAdmin_DeleteApplication_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
229   HRESULT WINAPI IIISApplicationAdmin_CreateApplicationPool_Proxy(IIISApplicationAdmin *This,LPCWSTR szPool);
230   void __RPC_STUB IIISApplicationAdmin_CreateApplicationPool_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
231   HRESULT WINAPI IIISApplicationAdmin_DeleteApplicationPool_Proxy(IIISApplicationAdmin *This,LPCWSTR szPool);
232   void __RPC_STUB IIISApplicationAdmin_DeleteApplicationPool_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
233   HRESULT WINAPI IIISApplicationAdmin_EnumerateApplicationsInPool_Proxy(IIISApplicationAdmin *This,LPCWSTR szPool,BSTR *bstrBuffer);
234   void __RPC_STUB IIISApplicationAdmin_EnumerateApplicationsInPool_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
235   HRESULT WINAPI IIISApplicationAdmin_RecycleApplicationPool_Proxy(IIISApplicationAdmin *This,LPCWSTR szPool);
236   void __RPC_STUB IIISApplicationAdmin_RecycleApplicationPool_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
237   HRESULT WINAPI IIISApplicationAdmin_GetProcessMode_Proxy(IIISApplicationAdmin *This,DWORD *pdwMode);
238   void __RPC_STUB IIISApplicationAdmin_GetProcessMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
239 #endif
240 
241 #ifndef __WAMREGLib_LIBRARY_DEFINED__
242 #define __WAMREGLib_LIBRARY_DEFINED__
243   EXTERN_C const IID LIBID_WAMREGLib;
244   EXTERN_C const CLSID CLSID_WamAdmin;
245 #ifdef __cplusplus
246   class WamAdmin;
247 #endif
248 #endif
249 
250   ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
251   unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
252   unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
253   void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
254 
255 #ifdef __cplusplus
256 }
257 #endif
258 #endif
259