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
26extern "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