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__ 440
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 __mtsadmin_h__
23 #define __mtsadmin_h__
24 
25 #ifdef __cplusplus
26 extern "C"{
27 #endif
28 
29 #ifndef __ICatalog_FWD_DEFINED__
30 #define __ICatalog_FWD_DEFINED__
31   typedef struct ICatalog ICatalog;
32 #endif
33 
34 #ifndef __IComponentUtil_FWD_DEFINED__
35 #define __IComponentUtil_FWD_DEFINED__
36   typedef struct IComponentUtil IComponentUtil;
37 #endif
38 
39 #ifndef __IPackageUtil_FWD_DEFINED__
40 #define __IPackageUtil_FWD_DEFINED__
41   typedef struct IPackageUtil IPackageUtil;
42 #endif
43 
44 #ifndef __IRemoteComponentUtil_FWD_DEFINED__
45 #define __IRemoteComponentUtil_FWD_DEFINED__
46   typedef struct IRemoteComponentUtil IRemoteComponentUtil;
47 #endif
48 
49 #ifndef __IRoleAssociationUtil_FWD_DEFINED__
50 #define __IRoleAssociationUtil_FWD_DEFINED__
51   typedef struct IRoleAssociationUtil IRoleAssociationUtil;
52 #endif
53 
54 #ifndef __Catalog_FWD_DEFINED__
55 #define __Catalog_FWD_DEFINED__
56 #ifdef __cplusplus
57   typedef class Catalog Catalog;
58 #else
59   typedef struct Catalog Catalog;
60 #endif
61 #endif
62 
63 #ifndef __CatalogObject_FWD_DEFINED__
64 #define __CatalogObject_FWD_DEFINED__
65 #ifdef __cplusplus
66   typedef class CatalogObject CatalogObject;
67 #else
68   typedef struct CatalogObject CatalogObject;
69 #endif
70 #endif
71 
72 #ifndef __CatalogCollection_FWD_DEFINED__
73 #define __CatalogCollection_FWD_DEFINED__
74 #ifdef __cplusplus
75   typedef class CatalogCollection CatalogCollection;
76 #else
77   typedef struct CatalogCollection CatalogCollection;
78 #endif
79 #endif
80 
81 #ifndef __ComponentUtil_FWD_DEFINED__
82 #define __ComponentUtil_FWD_DEFINED__
83 #ifdef __cplusplus
84   typedef class ComponentUtil ComponentUtil;
85 #else
86   typedef struct ComponentUtil ComponentUtil;
87 #endif
88 #endif
89 
90 #ifndef __PackageUtil_FWD_DEFINED__
91 #define __PackageUtil_FWD_DEFINED__
92 #ifdef __cplusplus
93   typedef class PackageUtil PackageUtil;
94 #else
95   typedef struct PackageUtil PackageUtil;
96 #endif
97 #endif
98 
99 #ifndef __RemoteComponentUtil_FWD_DEFINED__
100 #define __RemoteComponentUtil_FWD_DEFINED__
101 #ifdef __cplusplus
102   typedef class RemoteComponentUtil RemoteComponentUtil;
103 #else
104   typedef struct RemoteComponentUtil RemoteComponentUtil;
105 #endif
106 #endif
107 
108 #ifndef __RoleAssociationUtil_FWD_DEFINED__
109 #define __RoleAssociationUtil_FWD_DEFINED__
110 #ifdef __cplusplus
111   typedef class RoleAssociationUtil RoleAssociationUtil;
112 #else
113   typedef struct RoleAssociationUtil RoleAssociationUtil;
114 #endif
115 #endif
116 
117 #include "unknwn.h"
118 #include "comadmin.h"
119 
120 #ifndef __MIDL_user_allocate_free_DEFINED__
121 #define __MIDL_user_allocate_free_DEFINED__
122   void *__RPC_API MIDL_user_allocate(size_t);
123   void __RPC_API MIDL_user_free(void *);
124 #endif
125 
126 #include <objbase.h>
127 
128   extern RPC_IF_HANDLE __MIDL_itf_mtsadmin_0000_v0_0_c_ifspec;
129   extern RPC_IF_HANDLE __MIDL_itf_mtsadmin_0000_v0_0_s_ifspec;
130 
131 #ifndef __ICatalog_INTERFACE_DEFINED__
132 #define __ICatalog_INTERFACE_DEFINED__
133   EXTERN_C const IID IID_ICatalog;
134 #if defined(__cplusplus) && !defined(CINTERFACE)
135   struct ICatalog : public IDispatch {
136   public:
137     virtual HRESULT WINAPI GetCollection(BSTR bstrCollName,IDispatch **ppCatalogCollection) = 0;
138     virtual HRESULT WINAPI Connect(BSTR bstrConnectString,IDispatch **ppCatalogCollection) = 0;
139     virtual HRESULT WINAPI get_MajorVersion(__LONG32 *retval) = 0;
140     virtual HRESULT WINAPI get_MinorVersion(__LONG32 *retval) = 0;
141   };
142 #else
143   typedef struct ICatalogVtbl {
144     BEGIN_INTERFACE
145       HRESULT (WINAPI *QueryInterface)(ICatalog *This,REFIID riid,void **ppvObject);
146       ULONG (WINAPI *AddRef)(ICatalog *This);
147       ULONG (WINAPI *Release)(ICatalog *This);
148       HRESULT (WINAPI *GetTypeInfoCount)(ICatalog *This,UINT *pctinfo);
149       HRESULT (WINAPI *GetTypeInfo)(ICatalog *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
150       HRESULT (WINAPI *GetIDsOfNames)(ICatalog *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
151       HRESULT (WINAPI *Invoke)(ICatalog *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
152       HRESULT (WINAPI *GetCollection)(ICatalog *This,BSTR bstrCollName,IDispatch **ppCatalogCollection);
153       HRESULT (WINAPI *Connect)(ICatalog *This,BSTR bstrConnectString,IDispatch **ppCatalogCollection);
154       HRESULT (WINAPI *get_MajorVersion)(ICatalog *This,__LONG32 *retval);
155       HRESULT (WINAPI *get_MinorVersion)(ICatalog *This,__LONG32 *retval);
156     END_INTERFACE
157   } ICatalogVtbl;
158   struct ICatalog {
159     CONST_VTBL struct ICatalogVtbl *lpVtbl;
160   };
161 #ifdef COBJMACROS
162 #define ICatalog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
163 #define ICatalog_AddRef(This) (This)->lpVtbl->AddRef(This)
164 #define ICatalog_Release(This) (This)->lpVtbl->Release(This)
165 #define ICatalog_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
166 #define ICatalog_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
167 #define ICatalog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
168 #define ICatalog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
169 #define ICatalog_GetCollection(This,bstrCollName,ppCatalogCollection) (This)->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection)
170 #define ICatalog_Connect(This,bstrConnectString,ppCatalogCollection) (This)->lpVtbl->Connect(This,bstrConnectString,ppCatalogCollection)
171 #define ICatalog_get_MajorVersion(This,retval) (This)->lpVtbl->get_MajorVersion(This,retval)
172 #define ICatalog_get_MinorVersion(This,retval) (This)->lpVtbl->get_MinorVersion(This,retval)
173 #endif
174 #endif
175   HRESULT WINAPI ICatalog_GetCollection_Proxy(ICatalog *This,BSTR bstrCollName,IDispatch **ppCatalogCollection);
176   void __RPC_STUB ICatalog_GetCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
177   HRESULT WINAPI ICatalog_Connect_Proxy(ICatalog *This,BSTR bstrConnectString,IDispatch **ppCatalogCollection);
178   void __RPC_STUB ICatalog_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
179   HRESULT WINAPI ICatalog_get_MajorVersion_Proxy(ICatalog *This,__LONG32 *retval);
180   void __RPC_STUB ICatalog_get_MajorVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
181   HRESULT WINAPI ICatalog_get_MinorVersion_Proxy(ICatalog *This,__LONG32 *retval);
182   void __RPC_STUB ICatalog_get_MinorVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
183 #endif
184 
185 #ifndef __IComponentUtil_INTERFACE_DEFINED__
186 #define __IComponentUtil_INTERFACE_DEFINED__
187   EXTERN_C const IID IID_IComponentUtil;
188 #if defined(__cplusplus) && !defined(CINTERFACE)
189   struct IComponentUtil : public IDispatch {
190   public:
191     virtual HRESULT WINAPI InstallComponent(BSTR bstrDLLFile,BSTR bstrTypelibFile,BSTR bstrProxyStubDLLFile) = 0;
192     virtual HRESULT WINAPI ImportComponent(BSTR bstrCLSID) = 0;
193     virtual HRESULT WINAPI ImportComponentByName(BSTR bstrProgID) = 0;
194     virtual HRESULT WINAPI GetCLSIDs(BSTR bstrDLLFile,BSTR bstrTypelibFile,SAFEARRAY **aCLSIDs) = 0;
195   };
196 #else
197   typedef struct IComponentUtilVtbl {
198     BEGIN_INTERFACE
199       HRESULT (WINAPI *QueryInterface)(IComponentUtil *This,REFIID riid,void **ppvObject);
200       ULONG (WINAPI *AddRef)(IComponentUtil *This);
201       ULONG (WINAPI *Release)(IComponentUtil *This);
202       HRESULT (WINAPI *GetTypeInfoCount)(IComponentUtil *This,UINT *pctinfo);
203       HRESULT (WINAPI *GetTypeInfo)(IComponentUtil *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
204       HRESULT (WINAPI *GetIDsOfNames)(IComponentUtil *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
205       HRESULT (WINAPI *Invoke)(IComponentUtil *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
206       HRESULT (WINAPI *InstallComponent)(IComponentUtil *This,BSTR bstrDLLFile,BSTR bstrTypelibFile,BSTR bstrProxyStubDLLFile);
207       HRESULT (WINAPI *ImportComponent)(IComponentUtil *This,BSTR bstrCLSID);
208       HRESULT (WINAPI *ImportComponentByName)(IComponentUtil *This,BSTR bstrProgID);
209       HRESULT (WINAPI *GetCLSIDs)(IComponentUtil *This,BSTR bstrDLLFile,BSTR bstrTypelibFile,SAFEARRAY **aCLSIDs);
210     END_INTERFACE
211   } IComponentUtilVtbl;
212   struct IComponentUtil {
213     CONST_VTBL struct IComponentUtilVtbl *lpVtbl;
214   };
215 #ifdef COBJMACROS
216 #define IComponentUtil_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
217 #define IComponentUtil_AddRef(This) (This)->lpVtbl->AddRef(This)
218 #define IComponentUtil_Release(This) (This)->lpVtbl->Release(This)
219 #define IComponentUtil_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
220 #define IComponentUtil_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
221 #define IComponentUtil_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
222 #define IComponentUtil_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
223 #define IComponentUtil_InstallComponent(This,bstrDLLFile,bstrTypelibFile,bstrProxyStubDLLFile) (This)->lpVtbl->InstallComponent(This,bstrDLLFile,bstrTypelibFile,bstrProxyStubDLLFile)
224 #define IComponentUtil_ImportComponent(This,bstrCLSID) (This)->lpVtbl->ImportComponent(This,bstrCLSID)
225 #define IComponentUtil_ImportComponentByName(This,bstrProgID) (This)->lpVtbl->ImportComponentByName(This,bstrProgID)
226 #define IComponentUtil_GetCLSIDs(This,bstrDLLFile,bstrTypelibFile,aCLSIDs) (This)->lpVtbl->GetCLSIDs(This,bstrDLLFile,bstrTypelibFile,aCLSIDs)
227 #endif
228 #endif
229   HRESULT WINAPI IComponentUtil_InstallComponent_Proxy(IComponentUtil *This,BSTR bstrDLLFile,BSTR bstrTypelibFile,BSTR bstrProxyStubDLLFile);
230   void __RPC_STUB IComponentUtil_InstallComponent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
231   HRESULT WINAPI IComponentUtil_ImportComponent_Proxy(IComponentUtil *This,BSTR bstrCLSID);
232   void __RPC_STUB IComponentUtil_ImportComponent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
233   HRESULT WINAPI IComponentUtil_ImportComponentByName_Proxy(IComponentUtil *This,BSTR bstrProgID);
234   void __RPC_STUB IComponentUtil_ImportComponentByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
235   HRESULT WINAPI IComponentUtil_GetCLSIDs_Proxy(IComponentUtil *This,BSTR bstrDLLFile,BSTR bstrTypelibFile,SAFEARRAY **aCLSIDs);
236   void __RPC_STUB IComponentUtil_GetCLSIDs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
237 #endif
238 
239 #ifndef __IPackageUtil_INTERFACE_DEFINED__
240 #define __IPackageUtil_INTERFACE_DEFINED__
241   EXTERN_C const IID IID_IPackageUtil;
242 #if defined(__cplusplus) && !defined(CINTERFACE)
243   struct IPackageUtil : public IDispatch {
244   public:
245     virtual HRESULT WINAPI InstallPackage(BSTR bstrPackageFile,BSTR bstrInstallPath,__LONG32 lOptions) = 0;
246     virtual HRESULT WINAPI ExportPackage(BSTR bstrPackageID,BSTR bstrPackageFile,__LONG32 lOptions) = 0;
247     virtual HRESULT WINAPI ShutdownPackage(BSTR bstrPackageID) = 0;
248   };
249 #else
250   typedef struct IPackageUtilVtbl {
251     BEGIN_INTERFACE
252       HRESULT (WINAPI *QueryInterface)(IPackageUtil *This,REFIID riid,void **ppvObject);
253       ULONG (WINAPI *AddRef)(IPackageUtil *This);
254       ULONG (WINAPI *Release)(IPackageUtil *This);
255       HRESULT (WINAPI *GetTypeInfoCount)(IPackageUtil *This,UINT *pctinfo);
256       HRESULT (WINAPI *GetTypeInfo)(IPackageUtil *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
257       HRESULT (WINAPI *GetIDsOfNames)(IPackageUtil *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
258       HRESULT (WINAPI *Invoke)(IPackageUtil *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
259       HRESULT (WINAPI *InstallPackage)(IPackageUtil *This,BSTR bstrPackageFile,BSTR bstrInstallPath,__LONG32 lOptions);
260       HRESULT (WINAPI *ExportPackage)(IPackageUtil *This,BSTR bstrPackageID,BSTR bstrPackageFile,__LONG32 lOptions);
261       HRESULT (WINAPI *ShutdownPackage)(IPackageUtil *This,BSTR bstrPackageID);
262     END_INTERFACE
263   } IPackageUtilVtbl;
264   struct IPackageUtil {
265     CONST_VTBL struct IPackageUtilVtbl *lpVtbl;
266   };
267 #ifdef COBJMACROS
268 #define IPackageUtil_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
269 #define IPackageUtil_AddRef(This) (This)->lpVtbl->AddRef(This)
270 #define IPackageUtil_Release(This) (This)->lpVtbl->Release(This)
271 #define IPackageUtil_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
272 #define IPackageUtil_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
273 #define IPackageUtil_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
274 #define IPackageUtil_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
275 #define IPackageUtil_InstallPackage(This,bstrPackageFile,bstrInstallPath,lOptions) (This)->lpVtbl->InstallPackage(This,bstrPackageFile,bstrInstallPath,lOptions)
276 #define IPackageUtil_ExportPackage(This,bstrPackageID,bstrPackageFile,lOptions) (This)->lpVtbl->ExportPackage(This,bstrPackageID,bstrPackageFile,lOptions)
277 #define IPackageUtil_ShutdownPackage(This,bstrPackageID) (This)->lpVtbl->ShutdownPackage(This,bstrPackageID)
278 #endif
279 #endif
280   HRESULT WINAPI IPackageUtil_InstallPackage_Proxy(IPackageUtil *This,BSTR bstrPackageFile,BSTR bstrInstallPath,__LONG32 lOptions);
281   void __RPC_STUB IPackageUtil_InstallPackage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
282   HRESULT WINAPI IPackageUtil_ExportPackage_Proxy(IPackageUtil *This,BSTR bstrPackageID,BSTR bstrPackageFile,__LONG32 lOptions);
283   void __RPC_STUB IPackageUtil_ExportPackage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
284   HRESULT WINAPI IPackageUtil_ShutdownPackage_Proxy(IPackageUtil *This,BSTR bstrPackageID);
285   void __RPC_STUB IPackageUtil_ShutdownPackage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
286 #endif
287 
288 #ifndef __IRemoteComponentUtil_INTERFACE_DEFINED__
289 #define __IRemoteComponentUtil_INTERFACE_DEFINED__
290   EXTERN_C const IID IID_IRemoteComponentUtil;
291 #if defined(__cplusplus) && !defined(CINTERFACE)
292   struct IRemoteComponentUtil : public IDispatch {
293   public:
294     virtual HRESULT WINAPI InstallRemoteComponent(BSTR bstrServer,BSTR bstrPackageID,BSTR bstrCLSID) = 0;
295     virtual HRESULT WINAPI InstallRemoteComponentByName(BSTR bstrServer,BSTR bstrPackageName,BSTR bstrProgID) = 0;
296   };
297 #else
298   typedef struct IRemoteComponentUtilVtbl {
299     BEGIN_INTERFACE
300       HRESULT (WINAPI *QueryInterface)(IRemoteComponentUtil *This,REFIID riid,void **ppvObject);
301       ULONG (WINAPI *AddRef)(IRemoteComponentUtil *This);
302       ULONG (WINAPI *Release)(IRemoteComponentUtil *This);
303       HRESULT (WINAPI *GetTypeInfoCount)(IRemoteComponentUtil *This,UINT *pctinfo);
304       HRESULT (WINAPI *GetTypeInfo)(IRemoteComponentUtil *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
305       HRESULT (WINAPI *GetIDsOfNames)(IRemoteComponentUtil *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
306       HRESULT (WINAPI *Invoke)(IRemoteComponentUtil *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
307       HRESULT (WINAPI *InstallRemoteComponent)(IRemoteComponentUtil *This,BSTR bstrServer,BSTR bstrPackageID,BSTR bstrCLSID);
308       HRESULT (WINAPI *InstallRemoteComponentByName)(IRemoteComponentUtil *This,BSTR bstrServer,BSTR bstrPackageName,BSTR bstrProgID);
309     END_INTERFACE
310   } IRemoteComponentUtilVtbl;
311   struct IRemoteComponentUtil {
312     CONST_VTBL struct IRemoteComponentUtilVtbl *lpVtbl;
313   };
314 #ifdef COBJMACROS
315 #define IRemoteComponentUtil_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
316 #define IRemoteComponentUtil_AddRef(This) (This)->lpVtbl->AddRef(This)
317 #define IRemoteComponentUtil_Release(This) (This)->lpVtbl->Release(This)
318 #define IRemoteComponentUtil_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
319 #define IRemoteComponentUtil_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
320 #define IRemoteComponentUtil_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
321 #define IRemoteComponentUtil_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
322 #define IRemoteComponentUtil_InstallRemoteComponent(This,bstrServer,bstrPackageID,bstrCLSID) (This)->lpVtbl->InstallRemoteComponent(This,bstrServer,bstrPackageID,bstrCLSID)
323 #define IRemoteComponentUtil_InstallRemoteComponentByName(This,bstrServer,bstrPackageName,bstrProgID) (This)->lpVtbl->InstallRemoteComponentByName(This,bstrServer,bstrPackageName,bstrProgID)
324 #endif
325 #endif
326   HRESULT WINAPI IRemoteComponentUtil_InstallRemoteComponent_Proxy(IRemoteComponentUtil *This,BSTR bstrServer,BSTR bstrPackageID,BSTR bstrCLSID);
327   void __RPC_STUB IRemoteComponentUtil_InstallRemoteComponent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
328   HRESULT WINAPI IRemoteComponentUtil_InstallRemoteComponentByName_Proxy(IRemoteComponentUtil *This,BSTR bstrServer,BSTR bstrPackageName,BSTR bstrProgID);
329   void __RPC_STUB IRemoteComponentUtil_InstallRemoteComponentByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
330 #endif
331 
332 #ifndef __IRoleAssociationUtil_INTERFACE_DEFINED__
333 #define __IRoleAssociationUtil_INTERFACE_DEFINED__
334   EXTERN_C const IID IID_IRoleAssociationUtil;
335 #if defined(__cplusplus) && !defined(CINTERFACE)
336   struct IRoleAssociationUtil : public IDispatch {
337   public:
338     virtual HRESULT WINAPI AssociateRole(BSTR bstrRoleID) = 0;
339     virtual HRESULT WINAPI AssociateRoleByName(BSTR bstrRoleName) = 0;
340   };
341 #else
342   typedef struct IRoleAssociationUtilVtbl {
343     BEGIN_INTERFACE
344       HRESULT (WINAPI *QueryInterface)(IRoleAssociationUtil *This,REFIID riid,void **ppvObject);
345       ULONG (WINAPI *AddRef)(IRoleAssociationUtil *This);
346       ULONG (WINAPI *Release)(IRoleAssociationUtil *This);
347       HRESULT (WINAPI *GetTypeInfoCount)(IRoleAssociationUtil *This,UINT *pctinfo);
348       HRESULT (WINAPI *GetTypeInfo)(IRoleAssociationUtil *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
349       HRESULT (WINAPI *GetIDsOfNames)(IRoleAssociationUtil *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
350       HRESULT (WINAPI *Invoke)(IRoleAssociationUtil *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
351       HRESULT (WINAPI *AssociateRole)(IRoleAssociationUtil *This,BSTR bstrRoleID);
352       HRESULT (WINAPI *AssociateRoleByName)(IRoleAssociationUtil *This,BSTR bstrRoleName);
353     END_INTERFACE
354   } IRoleAssociationUtilVtbl;
355   struct IRoleAssociationUtil {
356     CONST_VTBL struct IRoleAssociationUtilVtbl *lpVtbl;
357   };
358 #ifdef COBJMACROS
359 #define IRoleAssociationUtil_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
360 #define IRoleAssociationUtil_AddRef(This) (This)->lpVtbl->AddRef(This)
361 #define IRoleAssociationUtil_Release(This) (This)->lpVtbl->Release(This)
362 #define IRoleAssociationUtil_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
363 #define IRoleAssociationUtil_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
364 #define IRoleAssociationUtil_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
365 #define IRoleAssociationUtil_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
366 #define IRoleAssociationUtil_AssociateRole(This,bstrRoleID) (This)->lpVtbl->AssociateRole(This,bstrRoleID)
367 #define IRoleAssociationUtil_AssociateRoleByName(This,bstrRoleName) (This)->lpVtbl->AssociateRoleByName(This,bstrRoleName)
368 #endif
369 #endif
370   HRESULT WINAPI IRoleAssociationUtil_AssociateRole_Proxy(IRoleAssociationUtil *This,BSTR bstrRoleID);
371   void __RPC_STUB IRoleAssociationUtil_AssociateRole_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
372   HRESULT WINAPI IRoleAssociationUtil_AssociateRoleByName_Proxy(IRoleAssociationUtil *This,BSTR bstrRoleName);
373   void __RPC_STUB IRoleAssociationUtil_AssociateRoleByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
374 #endif
375 
376 #ifndef __MTSAdmin_LIBRARY_DEFINED__
377 #define __MTSAdmin_LIBRARY_DEFINED__
378 
379   typedef enum __MIDL___MIDL_itf_mtsadmin_0123_0001 {
380     mtsInstallUsers = 1
381   } MTSPackageInstallOptions;
382 
383   typedef enum __MIDL___MIDL_itf_mtsadmin_0123_0002 {
384     mtsExportUsers = 1
385   } MTSPackageExportOptions;
386 
387   typedef enum __MIDL___MIDL_itf_mtsadmin_0123_0003 {
388     mtsErrObjectErrors = (HRESULT)0x80110401,mtsErrObjectInvalid = (HRESULT)0x80110402,mtsErrKeyMissing = (HRESULT)0x80110403,
389     mtsErrAlreadyInstalled = (HRESULT)0x80110404,mtsErrDownloadFailed = 0x80110405,mtsErrPDFWriteFail = (HRESULT)0x80110407,
390     mtsErrPDFReadFail = (HRESULT)0x80110408,mtsErrPDFVersion = (HRESULT)0x80110409,mtsErrBadPath = (HRESULT)0x8011040a,
391     mtsErrPackageExists = (HRESULT)0x8011040b,mtsErrRoleExists = (HRESULT)0x8011040c,mtsErrCantCopyFile = (HRESULT)0x8011040d,
392     mtsErrNoTypeLib = 0x8011040e,mtsErrNoUser = (HRESULT)0x8011040f,mtsErrInvalidUserids = (HRESULT)0x80110410,
393     mtsErrNoRegistryCLSID = (HRESULT)0x80110411,mtsErrBadRegistryProgID = (HRESULT)0x80110412,mtsErrAuthenticationLevel = (HRESULT)0x80110413,
394     mtsErrUserPasswdNotValid = (HRESULT)0x80110414,mtsErrNoRegistryRead = 0x80110415,mtsErrNoRegistryWrite = 0x80110416,
395     mtsErrNoRegistryRepair = 0x80110417,mtsErrCLSIDOrIIDMismatch = (HRESULT)0x80110418,mtsErrRemoteInterface = (HRESULT)0x80110419,
396     mtsErrDllRegisterServer = (HRESULT)0x8011041a,mtsErrNoServerShare = (HRESULT)0x8011041b,mtsErrNoAccessToUNC = 0x8011041c,
397     mtsErrDllLoadFailed = (HRESULT)0x8011041d,mtsErrBadRegistryLibID = (HRESULT)0x8011041e,mtsErrPackDirNotFound = (HRESULT)0x8011041f,
398     mtsErrTreatAs = 0x80110420,mtsErrBadForward = 0x80110421,mtsErrBadIID = 0x80110422,mtsErrRegistrarFailed = (HRESULT)0x80110423,
399     mtsErrCompFileDoesNotExist = (HRESULT)0x80110424,mtsErrCompFileLoadDLLFail = (HRESULT)0x80110425,mtsErrCompFileGetClassObj = (HRESULT)0x80110426,
400     mtsErrCompFileClassNotAvail = (HRESULT)0x80110427,mtsErrCompFileBadTLB = (HRESULT)0x80110428,mtsErrCompFileNotInstallable = (HRESULT)0x80110429,
401     mtsErrNotChangeable = (HRESULT)0x8011042a,mtsErrNotDeletable = (HRESULT)0x8011042b,mtsErrSession = (HRESULT)0x8011042c,
402     mtsErrCompMoveLocked = (HRESULT)0x8011042d,mtsErrCompMoveBadDest = (HRESULT)0x8011042e,mtsErrRegisterTLB = (HRESULT)0x80110430,
403     mtsErrSystemPack = (HRESULT)0x80110433,mtsErrCompFileNoRegistrar = (HRESULT)0x80110434,mtsErrCoReqCompInstalled = (HRESULT)0x80110435,
404     mtsErrPropSaveFailed = (HRESULT)0x80110437,mtsErrObjectExists = (HRESULT)0x80110438,mtsErrRegFileCorrupt = (HRESULT)0x8011043b,
405     mtsErrPropertyOverflow = (HRESULT)0x8011043c,mtsErrNotInRegistry = (HRESULT)0x8011043e,mtsErrApplidMatchesClsid = (HRESULT)0x80110446,
406     mtsErrRoleDoesNotExist = (HRESULT)0x80110447,mtsErrObjectParentMissing = (HRESULT)0x80110808,mtsErrObjectDoesNotExist = (HRESULT)0x80110809,
407     mtsErrCanNotExportAppProxy = 0x8011044a,mtsErrCanNotExportSystemPack = 0x8011044c
408   };
409 
410 #define E_MTS_OBJECTERRORS mtsErrObjectErrors
411 #define E_MTS_OBJECTINVALID mtsErrObjectInvalid
412 #define E_MTS_KEYMISSING mtsErrKeyMissing
413 #define E_MTS_ALREADYINSTALLED mtsErrAlreadyInstalled
414 #define E_MTS_DOWNLOADFAILED mtsErrDownloadFailed
415 #define E_MTS_PDFWRITEFAIL mtsErrPDFWriteFail
416 #define E_MTS_PDFREADFAIL mtsErrPDFReadFail
417 #define E_MTS_PDFVERSION mtsErrPDFVersion
418 #define E_MTS_BADPATH mtsErrBadPath
419 #define E_MTS_PACKAGEEXISTS mtsErrPackageExists
420 #define E_MTS_ROLEEXISTS mtsErrRoleExists
421 #define E_MTS_CANTCOPYFILE mtsErrCantCopyFile
422 #define E_MTS_NOTYPELIB mtsErrNoTypeLib
423 #define E_MTS_NOUSER mtsErrNoUser
424 #define E_MTS_INVALIDUSERIDS mtsErrInvalidUserids
425 #define E_MTS_NOREGISTRYCLSID mtsErrNoRegistryCLSID
426 #define E_MTS_BADREGISTRYPROGID mtsErrBadRegistryProgID
427 #define E_MTS_AUTHENTICATIONLEVEL mtsErrAuthenticationLevel
428 #define E_MTS_USERPASSWDNOTVALID mtsErrUserPasswdNotValid
429 #define E_MTS_NOREGISTRYREAD mtsErrNoRegistryRead
430 #define E_MTS_NOREGISTRYWRITE mtsErrNoRegistryWrite
431 #define E_MTS_NOREGISTRYREPAIR mtsErrNoRegistryRepair
432 #define E_MTS_CLSIDORIIDMISMATCH mtsErrCLSIDOrIIDMismatch
433 #define E_MTS_REMOTEINTERFACE mtsErrRemoteInterface
434 #define E_MTS_DLLREGISTERSERVER mtsErrDllRegisterServer
435 #define E_MTS_NOSERVERSHARE mtsErrNoServerShare
436 #define E_MTS_NOACCESSTOUNC mtsErrNoAccessToUNC
437 #define E_MTS_DLLLOADFAILED mtsErrDllLoadFailed
438 #define E_MTS_BADREGISTRYLIBID mtsErrBadRegistryLibID
439 #define E_MTS_PACKDIRNOTFOUND mtsErrPackDirNotFound
440 #define E_MTS_TREATAS mtsErrTreatAs
441 #define E_MTS_BADFORWARD mtsErrBadForward
442 #define E_MTS_BADIID mtsErrBadIID
443 #define E_MTS_REGISTRARFAILED mtsErrRegistrarFailed
444 #define E_MTS_COMPFILE_DOESNOTEXIST mtsErrCompFileDoesNotExist
445 #define E_MTS_COMPFILE_LOADDLLFAIL mtsErrCompFileLoadDLLFail
446 #define E_MTS_COMPFILE_GETCLASSOBJ mtsErrCompFileGetClassObj
447 #define E_MTS_COMPFILE_CLASSNOTAVAIL mtsErrCompFileClassNotAvail
448 #define E_MTS_COMPFILE_BADTLB mtsErrCompFileBadTLB
449 #define E_MTS_COMPFILE_NOTINSTALLABLE mtsErrCompFileNotInstallable
450 #define E_MTS_NOTCHANGEABLE mtsErrNotChangeable
451 #define E_MTS_NOTDELETEABLE mtsErrNotDeletable
452 #define E_MTS_SESSION mtsErrSession
453 #define E_MTS_COMP_MOVE_LOCKED mtsErrCompMoveLocked
454 #define E_MTS_COMP_MOVE_BAD_DEST mtsErrCompMoveBadDest
455 #define E_MTS_REGISTERTLB mtsErrRegisterTLB
456 #define E_MTS_SYSTEMPACK mtsErrSystemPack
457 #define E_MTS_COMPFILE_NOREGISTRAR mtsErrCompFileNoRegistrar
458 #define E_MTS_COREQCOMPINSTALLED mtsErrCoReqCompInstalled
459 #define E_MTS_PROPERTYSAVEFAILED mtsErrPropSaveFailed
460 #define E_MTS_OBJECTEXISTS mtsErrObjectExists
461 #define E_MTS_REGFILE_CORRUPT mtsErrRegFileCorrupt
462 #define E_MTS_PROPERTY_OVERFLOW mtsErrPropertyOverflow
463 #define E_MTS_NOTINREGISTRY mtsErrNotInRegistry
464 #define E_MTS_APPLID_MATCHES_CLSID mtsErrApplidMatchesClsid
465 #define E_MTS_ROLE_DOES_NOT_EXIST mtsErrRoleDoesNotExist
466 #define E_MTS_OBJECT_PARENT_MISSING mtsErrObjectParentMissing
467 #define E_MTS_OBJECT_DOES_NOT_EXIST mtsErrObjectDoesNotExist
468 #define E_MTS_CAN_NOT_EXPORT_APP_PROXY mtsErrCanNotExportAppProxy
469 #define E_MTS_CAN_NOT_EXPORT_SYSTEM_PACK mtsErrCanNotExportSystemPack
470 
471   EXTERN_C const IID LIBID_MTSAdmin;
472   EXTERN_C const CLSID CLSID_Catalog;
473 #ifdef __cplusplus
474   class Catalog;
475 #endif
476   EXTERN_C const CLSID CLSID_CatalogObject;
477 #ifdef __cplusplus
478   class CatalogObject;
479 #endif
480   EXTERN_C const CLSID CLSID_CatalogCollection;
481 #ifdef __cplusplus
482   class CatalogCollection;
483 #endif
484   EXTERN_C const CLSID CLSID_ComponentUtil;
485 #ifdef __cplusplus
486   class ComponentUtil;
487 #endif
488   EXTERN_C const CLSID CLSID_PackageUtil;
489 #ifdef __cplusplus
490   class PackageUtil;
491 #endif
492   EXTERN_C const CLSID CLSID_RemoteComponentUtil;
493 #ifdef __cplusplus
494   class RemoteComponentUtil;
495 #endif
496   EXTERN_C const CLSID CLSID_RoleAssociationUtil;
497 #ifdef __cplusplus
498   class RoleAssociationUtil;
499 #endif
500 #endif
501 
502   ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
503   unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
504   unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
505   void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
506   ULONG __RPC_API LPSAFEARRAY_UserSize(ULONG *,ULONG,LPSAFEARRAY *);
507   unsigned char *__RPC_API LPSAFEARRAY_UserMarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
508   unsigned char *__RPC_API LPSAFEARRAY_UserUnmarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
509   void __RPC_API LPSAFEARRAY_UserFree(ULONG *,LPSAFEARRAY *);
510 
511 #ifdef __cplusplus
512 }
513 #endif
514 #endif
515