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#include "rpc.h"
7#include "rpcndr.h"
8#ifndef COM_NO_WINDOWS_H
9#include "windows.h"
10#include "ole2.h"
11#endif
12
13#ifndef __mtxadmin_h__
14#define __mtxadmin_h__
15
16#ifdef __cplusplus
17extern "C"{
18#endif
19
20#ifndef __ICatalog_FWD_DEFINED__
21#define __ICatalog_FWD_DEFINED__
22  typedef struct ICatalog ICatalog;
23#endif
24
25#ifndef __ICatalogObject_FWD_DEFINED__
26#define __ICatalogObject_FWD_DEFINED__
27  typedef struct ICatalogObject ICatalogObject;
28#endif
29
30#ifndef __ICatalogCollection_FWD_DEFINED__
31#define __ICatalogCollection_FWD_DEFINED__
32  typedef struct ICatalogCollection ICatalogCollection;
33#endif
34
35#ifndef __IComponentUtil_FWD_DEFINED__
36#define __IComponentUtil_FWD_DEFINED__
37  typedef struct IComponentUtil IComponentUtil;
38#endif
39
40#ifndef __IPackageUtil_FWD_DEFINED__
41#define __IPackageUtil_FWD_DEFINED__
42  typedef struct IPackageUtil IPackageUtil;
43#endif
44
45#ifndef __IRemoteComponentUtil_FWD_DEFINED__
46#define __IRemoteComponentUtil_FWD_DEFINED__
47  typedef struct IRemoteComponentUtil IRemoteComponentUtil;
48#endif
49
50#ifndef __IRoleAssociationUtil_FWD_DEFINED__
51#define __IRoleAssociationUtil_FWD_DEFINED__
52  typedef struct IRoleAssociationUtil IRoleAssociationUtil;
53#endif
54
55#ifndef __Catalog_FWD_DEFINED__
56#define __Catalog_FWD_DEFINED__
57#ifdef __cplusplus
58  typedef class Catalog Catalog;
59#else
60  typedef struct Catalog Catalog;
61#endif
62#endif
63
64#ifndef __CatalogObject_FWD_DEFINED__
65#define __CatalogObject_FWD_DEFINED__
66#ifdef __cplusplus
67  typedef class CatalogObject CatalogObject;
68#else
69  typedef struct CatalogObject CatalogObject;
70#endif
71#endif
72
73#ifndef __CatalogCollection_FWD_DEFINED__
74#define __CatalogCollection_FWD_DEFINED__
75#ifdef __cplusplus
76  typedef class CatalogCollection CatalogCollection;
77#else
78  typedef struct CatalogCollection CatalogCollection;
79#endif
80#endif
81
82#ifndef __ComponentUtil_FWD_DEFINED__
83#define __ComponentUtil_FWD_DEFINED__
84#ifdef __cplusplus
85  typedef class ComponentUtil ComponentUtil;
86#else
87  typedef struct ComponentUtil ComponentUtil;
88#endif
89#endif
90
91#ifndef __PackageUtil_FWD_DEFINED__
92#define __PackageUtil_FWD_DEFINED__
93#ifdef __cplusplus
94  typedef class PackageUtil PackageUtil;
95#else
96  typedef struct PackageUtil PackageUtil;
97#endif
98#endif
99
100#ifndef __RemoteComponentUtil_FWD_DEFINED__
101#define __RemoteComponentUtil_FWD_DEFINED__
102#ifdef __cplusplus
103  typedef class RemoteComponentUtil RemoteComponentUtil;
104#else
105  typedef struct RemoteComponentUtil RemoteComponentUtil;
106#endif
107#endif
108
109#ifndef __RoleAssociationUtil_FWD_DEFINED__
110#define __RoleAssociationUtil_FWD_DEFINED__
111#ifdef __cplusplus
112  typedef class RoleAssociationUtil RoleAssociationUtil;
113#else
114  typedef struct RoleAssociationUtil RoleAssociationUtil;
115#endif
116#endif
117
118#include "unknwn.h"
119#include "oaidl.h"
120
121#ifndef __MIDL_user_allocate_free_DEFINED__
122#define __MIDL_user_allocate_free_DEFINED__
123  void *__RPC_API MIDL_user_allocate(size_t);
124  void __RPC_API MIDL_user_free(void *);
125#endif
126
127#include <objbase.h>
128
129  extern RPC_IF_HANDLE __MIDL_itf_mtxadmin_0000_v0_0_c_ifspec;
130  extern RPC_IF_HANDLE __MIDL_itf_mtxadmin_0000_v0_0_s_ifspec;
131
132#ifndef __ICatalog_INTERFACE_DEFINED__
133#define __ICatalog_INTERFACE_DEFINED__
134  EXTERN_C const IID IID_ICatalog;
135#if defined(__cplusplus) && !defined(CINTERFACE)
136  struct ICatalog : public IDispatch {
137  public:
138    virtual HRESULT WINAPI GetCollection(BSTR bstrCollName,IDispatch **ppCatalogCollection) = 0;
139    virtual HRESULT WINAPI Connect(BSTR bstrConnectString,IDispatch **ppCatalogCollection) = 0;
140    virtual HRESULT WINAPI get_MajorVersion(__LONG32 *retval) = 0;
141    virtual HRESULT WINAPI get_MinorVersion(__LONG32 *retval) = 0;
142  };
143#else
144  typedef struct ICatalogVtbl {
145    BEGIN_INTERFACE
146      HRESULT (WINAPI *QueryInterface)(ICatalog *This,REFIID riid,void **ppvObject);
147      ULONG (WINAPI *AddRef)(ICatalog *This);
148      ULONG (WINAPI *Release)(ICatalog *This);
149      HRESULT (WINAPI *GetTypeInfoCount)(ICatalog *This,UINT *pctinfo);
150      HRESULT (WINAPI *GetTypeInfo)(ICatalog *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
151      HRESULT (WINAPI *GetIDsOfNames)(ICatalog *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
152      HRESULT (WINAPI *Invoke)(ICatalog *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
153      HRESULT (WINAPI *GetCollection)(ICatalog *This,BSTR bstrCollName,IDispatch **ppCatalogCollection);
154      HRESULT (WINAPI *Connect)(ICatalog *This,BSTR bstrConnectString,IDispatch **ppCatalogCollection);
155      HRESULT (WINAPI *get_MajorVersion)(ICatalog *This,__LONG32 *retval);
156      HRESULT (WINAPI *get_MinorVersion)(ICatalog *This,__LONG32 *retval);
157    END_INTERFACE
158  } ICatalogVtbl;
159  struct ICatalog {
160    CONST_VTBL struct ICatalogVtbl *lpVtbl;
161  };
162#ifdef COBJMACROS
163#define ICatalog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
164#define ICatalog_AddRef(This) (This)->lpVtbl->AddRef(This)
165#define ICatalog_Release(This) (This)->lpVtbl->Release(This)
166#define ICatalog_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
167#define ICatalog_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
168#define ICatalog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
169#define ICatalog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
170#define ICatalog_GetCollection(This,bstrCollName,ppCatalogCollection) (This)->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection)
171#define ICatalog_Connect(This,bstrConnectString,ppCatalogCollection) (This)->lpVtbl->Connect(This,bstrConnectString,ppCatalogCollection)
172#define ICatalog_get_MajorVersion(This,retval) (This)->lpVtbl->get_MajorVersion(This,retval)
173#define ICatalog_get_MinorVersion(This,retval) (This)->lpVtbl->get_MinorVersion(This,retval)
174#endif
175#endif
176  HRESULT WINAPI ICatalog_GetCollection_Proxy(ICatalog *This,BSTR bstrCollName,IDispatch **ppCatalogCollection);
177  void __RPC_STUB ICatalog_GetCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
178  HRESULT WINAPI ICatalog_Connect_Proxy(ICatalog *This,BSTR bstrConnectString,IDispatch **ppCatalogCollection);
179  void __RPC_STUB ICatalog_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
180  HRESULT WINAPI ICatalog_get_MajorVersion_Proxy(ICatalog *This,__LONG32 *retval);
181  void __RPC_STUB ICatalog_get_MajorVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
182  HRESULT WINAPI ICatalog_get_MinorVersion_Proxy(ICatalog *This,__LONG32 *retval);
183  void __RPC_STUB ICatalog_get_MinorVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
184#endif
185
186#ifndef __ICatalogObject_INTERFACE_DEFINED__
187#define __ICatalogObject_INTERFACE_DEFINED__
188  EXTERN_C const IID IID_ICatalogObject;
189#if defined(__cplusplus) && !defined(CINTERFACE)
190  struct ICatalogObject : public IDispatch {
191  public:
192    virtual HRESULT WINAPI get_Value(BSTR bstrPropName,VARIANT *retval) = 0;
193    virtual HRESULT WINAPI put_Value(BSTR bstrPropName,VARIANT val) = 0;
194    virtual HRESULT WINAPI get_Key(VARIANT *retval) = 0;
195    virtual HRESULT WINAPI get_Name(VARIANT *retval) = 0;
196    virtual HRESULT WINAPI IsPropertyReadOnly(BSTR bstrPropName,VARIANT_BOOL *retval) = 0;
197    virtual HRESULT WINAPI get_Valid(VARIANT_BOOL *retval) = 0;
198    virtual HRESULT WINAPI IsPropertyWriteOnly(BSTR bstrPropName,VARIANT_BOOL *retval) = 0;
199  };
200#else
201  typedef struct ICatalogObjectVtbl {
202    BEGIN_INTERFACE
203      HRESULT (WINAPI *QueryInterface)(ICatalogObject *This,REFIID riid,void **ppvObject);
204      ULONG (WINAPI *AddRef)(ICatalogObject *This);
205      ULONG (WINAPI *Release)(ICatalogObject *This);
206      HRESULT (WINAPI *GetTypeInfoCount)(ICatalogObject *This,UINT *pctinfo);
207      HRESULT (WINAPI *GetTypeInfo)(ICatalogObject *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
208      HRESULT (WINAPI *GetIDsOfNames)(ICatalogObject *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
209      HRESULT (WINAPI *Invoke)(ICatalogObject *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
210      HRESULT (WINAPI *get_Value)(ICatalogObject *This,BSTR bstrPropName,VARIANT *retval);
211      HRESULT (WINAPI *put_Value)(ICatalogObject *This,BSTR bstrPropName,VARIANT val);
212      HRESULT (WINAPI *get_Key)(ICatalogObject *This,VARIANT *retval);
213      HRESULT (WINAPI *get_Name)(ICatalogObject *This,VARIANT *retval);
214      HRESULT (WINAPI *IsPropertyReadOnly)(ICatalogObject *This,BSTR bstrPropName,VARIANT_BOOL *retval);
215      HRESULT (WINAPI *get_Valid)(ICatalogObject *This,VARIANT_BOOL *retval);
216      HRESULT (WINAPI *IsPropertyWriteOnly)(ICatalogObject *This,BSTR bstrPropName,VARIANT_BOOL *retval);
217    END_INTERFACE
218  } ICatalogObjectVtbl;
219  struct ICatalogObject {
220    CONST_VTBL struct ICatalogObjectVtbl *lpVtbl;
221  };
222#ifdef COBJMACROS
223#define ICatalogObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
224#define ICatalogObject_AddRef(This) (This)->lpVtbl->AddRef(This)
225#define ICatalogObject_Release(This) (This)->lpVtbl->Release(This)
226#define ICatalogObject_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
227#define ICatalogObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
228#define ICatalogObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
229#define ICatalogObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
230#define ICatalogObject_get_Value(This,bstrPropName,retval) (This)->lpVtbl->get_Value(This,bstrPropName,retval)
231#define ICatalogObject_put_Value(This,bstrPropName,val) (This)->lpVtbl->put_Value(This,bstrPropName,val)
232#define ICatalogObject_get_Key(This,retval) (This)->lpVtbl->get_Key(This,retval)
233#define ICatalogObject_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
234#define ICatalogObject_IsPropertyReadOnly(This,bstrPropName,retval) (This)->lpVtbl->IsPropertyReadOnly(This,bstrPropName,retval)
235#define ICatalogObject_get_Valid(This,retval) (This)->lpVtbl->get_Valid(This,retval)
236#define ICatalogObject_IsPropertyWriteOnly(This,bstrPropName,retval) (This)->lpVtbl->IsPropertyWriteOnly(This,bstrPropName,retval)
237#endif
238#endif
239  HRESULT WINAPI ICatalogObject_get_Value_Proxy(ICatalogObject *This,BSTR bstrPropName,VARIANT *retval);
240  void __RPC_STUB ICatalogObject_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
241  HRESULT WINAPI ICatalogObject_put_Value_Proxy(ICatalogObject *This,BSTR bstrPropName,VARIANT val);
242  void __RPC_STUB ICatalogObject_put_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
243  HRESULT WINAPI ICatalogObject_get_Key_Proxy(ICatalogObject *This,VARIANT *retval);
244  void __RPC_STUB ICatalogObject_get_Key_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
245  HRESULT WINAPI ICatalogObject_get_Name_Proxy(ICatalogObject *This,VARIANT *retval);
246  void __RPC_STUB ICatalogObject_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
247  HRESULT WINAPI ICatalogObject_IsPropertyReadOnly_Proxy(ICatalogObject *This,BSTR bstrPropName,VARIANT_BOOL *retval);
248  void __RPC_STUB ICatalogObject_IsPropertyReadOnly_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
249  HRESULT WINAPI ICatalogObject_get_Valid_Proxy(ICatalogObject *This,VARIANT_BOOL *retval);
250  void __RPC_STUB ICatalogObject_get_Valid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
251  HRESULT WINAPI ICatalogObject_IsPropertyWriteOnly_Proxy(ICatalogObject *This,BSTR bstrPropName,VARIANT_BOOL *retval);
252  void __RPC_STUB ICatalogObject_IsPropertyWriteOnly_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
253#endif
254
255#ifndef __ICatalogCollection_INTERFACE_DEFINED__
256#define __ICatalogCollection_INTERFACE_DEFINED__
257  EXTERN_C const IID IID_ICatalogCollection;
258#if defined(__cplusplus) && !defined(CINTERFACE)
259  struct ICatalogCollection : public IDispatch {
260  public:
261    virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumVariant) = 0;
262    virtual HRESULT WINAPI get_Item(__LONG32 lIndex,IDispatch **ppCatalogObject) = 0;
263    virtual HRESULT WINAPI get_Count(__LONG32 *retval) = 0;
264    virtual HRESULT WINAPI Remove(__LONG32 lIndex) = 0;
265    virtual HRESULT WINAPI Add(IDispatch **ppCatalogObject) = 0;
266    virtual HRESULT WINAPI Populate(void) = 0;
267    virtual HRESULT WINAPI SaveChanges(__LONG32 *retval) = 0;
268    virtual HRESULT WINAPI GetCollection(BSTR bstrCollName,VARIANT varObjectKey,IDispatch **ppCatalogCollection) = 0;
269    virtual HRESULT WINAPI get_Name(VARIANT *retval) = 0;
270    virtual HRESULT WINAPI get_AddEnabled(VARIANT_BOOL *retval) = 0;
271    virtual HRESULT WINAPI get_RemoveEnabled(VARIANT_BOOL *retval) = 0;
272    virtual HRESULT WINAPI GetUtilInterface(IDispatch **ppUtil) = 0;
273    virtual HRESULT WINAPI get_DataStoreMajorVersion(__LONG32 *retval) = 0;
274    virtual HRESULT WINAPI get_DataStoreMinorVersion(__LONG32 *retval) = 0;
275    virtual HRESULT WINAPI PopulateByKey(SAFEARRAY *aKeys) = 0;
276    virtual HRESULT WINAPI PopulateByQuery(BSTR bstrQueryString,__LONG32 lQueryType) = 0;
277  };
278#else
279  typedef struct ICatalogCollectionVtbl {
280    BEGIN_INTERFACE
281      HRESULT (WINAPI *QueryInterface)(ICatalogCollection *This,REFIID riid,void **ppvObject);
282      ULONG (WINAPI *AddRef)(ICatalogCollection *This);
283      ULONG (WINAPI *Release)(ICatalogCollection *This);
284      HRESULT (WINAPI *GetTypeInfoCount)(ICatalogCollection *This,UINT *pctinfo);
285      HRESULT (WINAPI *GetTypeInfo)(ICatalogCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
286      HRESULT (WINAPI *GetIDsOfNames)(ICatalogCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
287      HRESULT (WINAPI *Invoke)(ICatalogCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
288      HRESULT (WINAPI *get__NewEnum)(ICatalogCollection *This,IUnknown **ppEnumVariant);
289      HRESULT (WINAPI *get_Item)(ICatalogCollection *This,__LONG32 lIndex,IDispatch **ppCatalogObject);
290      HRESULT (WINAPI *get_Count)(ICatalogCollection *This,__LONG32 *retval);
291      HRESULT (WINAPI *Remove)(ICatalogCollection *This,__LONG32 lIndex);
292      HRESULT (WINAPI *Add)(ICatalogCollection *This,IDispatch **ppCatalogObject);
293      HRESULT (WINAPI *Populate)(ICatalogCollection *This);
294      HRESULT (WINAPI *SaveChanges)(ICatalogCollection *This,__LONG32 *retval);
295      HRESULT (WINAPI *GetCollection)(ICatalogCollection *This,BSTR bstrCollName,VARIANT varObjectKey,IDispatch **ppCatalogCollection);
296      HRESULT (WINAPI *get_Name)(ICatalogCollection *This,VARIANT *retval);
297      HRESULT (WINAPI *get_AddEnabled)(ICatalogCollection *This,VARIANT_BOOL *retval);
298      HRESULT (WINAPI *get_RemoveEnabled)(ICatalogCollection *This,VARIANT_BOOL *retval);
299      HRESULT (WINAPI *GetUtilInterface)(ICatalogCollection *This,IDispatch **ppUtil);
300      HRESULT (WINAPI *get_DataStoreMajorVersion)(ICatalogCollection *This,__LONG32 *retval);
301      HRESULT (WINAPI *get_DataStoreMinorVersion)(ICatalogCollection *This,__LONG32 *retval);
302      HRESULT (WINAPI *PopulateByKey)(ICatalogCollection *This,SAFEARRAY *aKeys);
303      HRESULT (WINAPI *PopulateByQuery)(ICatalogCollection *This,BSTR bstrQueryString,__LONG32 lQueryType);
304    END_INTERFACE
305  } ICatalogCollectionVtbl;
306  struct ICatalogCollection {
307    CONST_VTBL struct ICatalogCollectionVtbl *lpVtbl;
308  };
309#ifdef COBJMACROS
310#define ICatalogCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
311#define ICatalogCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
312#define ICatalogCollection_Release(This) (This)->lpVtbl->Release(This)
313#define ICatalogCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
314#define ICatalogCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
315#define ICatalogCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
316#define ICatalogCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
317#define ICatalogCollection_get__NewEnum(This,ppEnumVariant) (This)->lpVtbl->get__NewEnum(This,ppEnumVariant)
318#define ICatalogCollection_get_Item(This,lIndex,ppCatalogObject) (This)->lpVtbl->get_Item(This,lIndex,ppCatalogObject)
319#define ICatalogCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval)
320#define ICatalogCollection_Remove(This,lIndex) (This)->lpVtbl->Remove(This,lIndex)
321#define ICatalogCollection_Add(This,ppCatalogObject) (This)->lpVtbl->Add(This,ppCatalogObject)
322#define ICatalogCollection_Populate(This) (This)->lpVtbl->Populate(This)
323#define ICatalogCollection_SaveChanges(This,retval) (This)->lpVtbl->SaveChanges(This,retval)
324#define ICatalogCollection_GetCollection(This,bstrCollName,varObjectKey,ppCatalogCollection) (This)->lpVtbl->GetCollection(This,bstrCollName,varObjectKey,ppCatalogCollection)
325#define ICatalogCollection_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
326#define ICatalogCollection_get_AddEnabled(This,retval) (This)->lpVtbl->get_AddEnabled(This,retval)
327#define ICatalogCollection_get_RemoveEnabled(This,retval) (This)->lpVtbl->get_RemoveEnabled(This,retval)
328#define ICatalogCollection_GetUtilInterface(This,ppUtil) (This)->lpVtbl->GetUtilInterface(This,ppUtil)
329#define ICatalogCollection_get_DataStoreMajorVersion(This,retval) (This)->lpVtbl->get_DataStoreMajorVersion(This,retval)
330#define ICatalogCollection_get_DataStoreMinorVersion(This,retval) (This)->lpVtbl->get_DataStoreMinorVersion(This,retval)
331#define ICatalogCollection_PopulateByKey(This,aKeys) (This)->lpVtbl->PopulateByKey(This,aKeys)
332#define ICatalogCollection_PopulateByQuery(This,bstrQueryString,lQueryType) (This)->lpVtbl->PopulateByQuery(This,bstrQueryString,lQueryType)
333#endif
334#endif
335  HRESULT WINAPI ICatalogCollection_get__NewEnum_Proxy(ICatalogCollection *This,IUnknown **ppEnumVariant);
336  void __RPC_STUB ICatalogCollection_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
337  HRESULT WINAPI ICatalogCollection_get_Item_Proxy(ICatalogCollection *This,__LONG32 lIndex,IDispatch **ppCatalogObject);
338  void __RPC_STUB ICatalogCollection_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
339  HRESULT WINAPI ICatalogCollection_get_Count_Proxy(ICatalogCollection *This,__LONG32 *retval);
340  void __RPC_STUB ICatalogCollection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
341  HRESULT WINAPI ICatalogCollection_Remove_Proxy(ICatalogCollection *This,__LONG32 lIndex);
342  void __RPC_STUB ICatalogCollection_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
343  HRESULT WINAPI ICatalogCollection_Add_Proxy(ICatalogCollection *This,IDispatch **ppCatalogObject);
344  void __RPC_STUB ICatalogCollection_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
345  HRESULT WINAPI ICatalogCollection_Populate_Proxy(ICatalogCollection *This);
346  void __RPC_STUB ICatalogCollection_Populate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
347  HRESULT WINAPI ICatalogCollection_SaveChanges_Proxy(ICatalogCollection *This,__LONG32 *retval);
348  void __RPC_STUB ICatalogCollection_SaveChanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
349  HRESULT WINAPI ICatalogCollection_GetCollection_Proxy(ICatalogCollection *This,BSTR bstrCollName,VARIANT varObjectKey,IDispatch **ppCatalogCollection);
350  void __RPC_STUB ICatalogCollection_GetCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
351  HRESULT WINAPI ICatalogCollection_get_Name_Proxy(ICatalogCollection *This,VARIANT *retval);
352  void __RPC_STUB ICatalogCollection_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
353  HRESULT WINAPI ICatalogCollection_get_AddEnabled_Proxy(ICatalogCollection *This,VARIANT_BOOL *retval);
354  void __RPC_STUB ICatalogCollection_get_AddEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
355  HRESULT WINAPI ICatalogCollection_get_RemoveEnabled_Proxy(ICatalogCollection *This,VARIANT_BOOL *retval);
356  void __RPC_STUB ICatalogCollection_get_RemoveEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
357  HRESULT WINAPI ICatalogCollection_GetUtilInterface_Proxy(ICatalogCollection *This,IDispatch **ppUtil);
358  void __RPC_STUB ICatalogCollection_GetUtilInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
359  HRESULT WINAPI ICatalogCollection_get_DataStoreMajorVersion_Proxy(ICatalogCollection *This,__LONG32 *retval);
360  void __RPC_STUB ICatalogCollection_get_DataStoreMajorVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
361  HRESULT WINAPI ICatalogCollection_get_DataStoreMinorVersion_Proxy(ICatalogCollection *This,__LONG32 *retval);
362  void __RPC_STUB ICatalogCollection_get_DataStoreMinorVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
363  HRESULT WINAPI ICatalogCollection_PopulateByKey_Proxy(ICatalogCollection *This,SAFEARRAY *aKeys);
364  void __RPC_STUB ICatalogCollection_PopulateByKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
365  HRESULT WINAPI ICatalogCollection_PopulateByQuery_Proxy(ICatalogCollection *This,BSTR bstrQueryString,__LONG32 lQueryType);
366  void __RPC_STUB ICatalogCollection_PopulateByQuery_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
367#endif
368
369#ifndef __IComponentUtil_INTERFACE_DEFINED__
370#define __IComponentUtil_INTERFACE_DEFINED__
371  EXTERN_C const IID IID_IComponentUtil;
372#if defined(__cplusplus) && !defined(CINTERFACE)
373  struct IComponentUtil : public IDispatch {
374  public:
375    virtual HRESULT WINAPI InstallComponent(BSTR bstrDLLFile,BSTR bstrTypelibFile,BSTR bstrProxyStubDLLFile) = 0;
376    virtual HRESULT WINAPI ImportComponent(BSTR bstrCLSID) = 0;
377    virtual HRESULT WINAPI ImportComponentByName(BSTR bstrProgID) = 0;
378    virtual HRESULT WINAPI GetCLSIDs(BSTR bstrDLLFile,BSTR bstrTypelibFile,SAFEARRAY **aCLSIDs) = 0;
379  };
380#else
381  typedef struct IComponentUtilVtbl {
382    BEGIN_INTERFACE
383      HRESULT (WINAPI *QueryInterface)(IComponentUtil *This,REFIID riid,void **ppvObject);
384      ULONG (WINAPI *AddRef)(IComponentUtil *This);
385      ULONG (WINAPI *Release)(IComponentUtil *This);
386      HRESULT (WINAPI *GetTypeInfoCount)(IComponentUtil *This,UINT *pctinfo);
387      HRESULT (WINAPI *GetTypeInfo)(IComponentUtil *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
388      HRESULT (WINAPI *GetIDsOfNames)(IComponentUtil *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
389      HRESULT (WINAPI *Invoke)(IComponentUtil *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
390      HRESULT (WINAPI *InstallComponent)(IComponentUtil *This,BSTR bstrDLLFile,BSTR bstrTypelibFile,BSTR bstrProxyStubDLLFile);
391      HRESULT (WINAPI *ImportComponent)(IComponentUtil *This,BSTR bstrCLSID);
392      HRESULT (WINAPI *ImportComponentByName)(IComponentUtil *This,BSTR bstrProgID);
393      HRESULT (WINAPI *GetCLSIDs)(IComponentUtil *This,BSTR bstrDLLFile,BSTR bstrTypelibFile,SAFEARRAY **aCLSIDs);
394    END_INTERFACE
395  } IComponentUtilVtbl;
396  struct IComponentUtil {
397    CONST_VTBL struct IComponentUtilVtbl *lpVtbl;
398  };
399#ifdef COBJMACROS
400#define IComponentUtil_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
401#define IComponentUtil_AddRef(This) (This)->lpVtbl->AddRef(This)
402#define IComponentUtil_Release(This) (This)->lpVtbl->Release(This)
403#define IComponentUtil_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
404#define IComponentUtil_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
405#define IComponentUtil_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
406#define IComponentUtil_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
407#define IComponentUtil_InstallComponent(This,bstrDLLFile,bstrTypelibFile,bstrProxyStubDLLFile) (This)->lpVtbl->InstallComponent(This,bstrDLLFile,bstrTypelibFile,bstrProxyStubDLLFile)
408#define IComponentUtil_ImportComponent(This,bstrCLSID) (This)->lpVtbl->ImportComponent(This,bstrCLSID)
409#define IComponentUtil_ImportComponentByName(This,bstrProgID) (This)->lpVtbl->ImportComponentByName(This,bstrProgID)
410#define IComponentUtil_GetCLSIDs(This,bstrDLLFile,bstrTypelibFile,aCLSIDs) (This)->lpVtbl->GetCLSIDs(This,bstrDLLFile,bstrTypelibFile,aCLSIDs)
411#endif
412#endif
413  HRESULT WINAPI IComponentUtil_InstallComponent_Proxy(IComponentUtil *This,BSTR bstrDLLFile,BSTR bstrTypelibFile,BSTR bstrProxyStubDLLFile);
414  void __RPC_STUB IComponentUtil_InstallComponent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
415  HRESULT WINAPI IComponentUtil_ImportComponent_Proxy(IComponentUtil *This,BSTR bstrCLSID);
416  void __RPC_STUB IComponentUtil_ImportComponent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
417  HRESULT WINAPI IComponentUtil_ImportComponentByName_Proxy(IComponentUtil *This,BSTR bstrProgID);
418  void __RPC_STUB IComponentUtil_ImportComponentByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
419  HRESULT WINAPI IComponentUtil_GetCLSIDs_Proxy(IComponentUtil *This,BSTR bstrDLLFile,BSTR bstrTypelibFile,SAFEARRAY **aCLSIDs);
420  void __RPC_STUB IComponentUtil_GetCLSIDs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
421#endif
422
423#ifndef __IPackageUtil_INTERFACE_DEFINED__
424#define __IPackageUtil_INTERFACE_DEFINED__
425  EXTERN_C const IID IID_IPackageUtil;
426#if defined(__cplusplus) && !defined(CINTERFACE)
427  struct IPackageUtil : public IDispatch {
428  public:
429    virtual HRESULT WINAPI InstallPackage(BSTR bstrPackageFile,BSTR bstrInstallPath,__LONG32 lOptions) = 0;
430    virtual HRESULT WINAPI ExportPackage(BSTR bstrPackageID,BSTR bstrPackageFile,__LONG32 lOptions) = 0;
431    virtual HRESULT WINAPI ShutdownPackage(BSTR bstrPackageID) = 0;
432  };
433#else
434  typedef struct IPackageUtilVtbl {
435    BEGIN_INTERFACE
436      HRESULT (WINAPI *QueryInterface)(IPackageUtil *This,REFIID riid,void **ppvObject);
437      ULONG (WINAPI *AddRef)(IPackageUtil *This);
438      ULONG (WINAPI *Release)(IPackageUtil *This);
439      HRESULT (WINAPI *GetTypeInfoCount)(IPackageUtil *This,UINT *pctinfo);
440      HRESULT (WINAPI *GetTypeInfo)(IPackageUtil *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
441      HRESULT (WINAPI *GetIDsOfNames)(IPackageUtil *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
442      HRESULT (WINAPI *Invoke)(IPackageUtil *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
443      HRESULT (WINAPI *InstallPackage)(IPackageUtil *This,BSTR bstrPackageFile,BSTR bstrInstallPath,__LONG32 lOptions);
444      HRESULT (WINAPI *ExportPackage)(IPackageUtil *This,BSTR bstrPackageID,BSTR bstrPackageFile,__LONG32 lOptions);
445      HRESULT (WINAPI *ShutdownPackage)(IPackageUtil *This,BSTR bstrPackageID);
446    END_INTERFACE
447  } IPackageUtilVtbl;
448  struct IPackageUtil {
449    CONST_VTBL struct IPackageUtilVtbl *lpVtbl;
450  };
451#ifdef COBJMACROS
452#define IPackageUtil_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
453#define IPackageUtil_AddRef(This) (This)->lpVtbl->AddRef(This)
454#define IPackageUtil_Release(This) (This)->lpVtbl->Release(This)
455#define IPackageUtil_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
456#define IPackageUtil_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
457#define IPackageUtil_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
458#define IPackageUtil_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
459#define IPackageUtil_InstallPackage(This,bstrPackageFile,bstrInstallPath,lOptions) (This)->lpVtbl->InstallPackage(This,bstrPackageFile,bstrInstallPath,lOptions)
460#define IPackageUtil_ExportPackage(This,bstrPackageID,bstrPackageFile,lOptions) (This)->lpVtbl->ExportPackage(This,bstrPackageID,bstrPackageFile,lOptions)
461#define IPackageUtil_ShutdownPackage(This,bstrPackageID) (This)->lpVtbl->ShutdownPackage(This,bstrPackageID)
462#endif
463#endif
464  HRESULT WINAPI IPackageUtil_InstallPackage_Proxy(IPackageUtil *This,BSTR bstrPackageFile,BSTR bstrInstallPath,__LONG32 lOptions);
465  void __RPC_STUB IPackageUtil_InstallPackage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
466  HRESULT WINAPI IPackageUtil_ExportPackage_Proxy(IPackageUtil *This,BSTR bstrPackageID,BSTR bstrPackageFile,__LONG32 lOptions);
467  void __RPC_STUB IPackageUtil_ExportPackage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
468  HRESULT WINAPI IPackageUtil_ShutdownPackage_Proxy(IPackageUtil *This,BSTR bstrPackageID);
469  void __RPC_STUB IPackageUtil_ShutdownPackage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
470#endif
471
472#ifndef __IRemoteComponentUtil_INTERFACE_DEFINED__
473#define __IRemoteComponentUtil_INTERFACE_DEFINED__
474  EXTERN_C const IID IID_IRemoteComponentUtil;
475#if defined(__cplusplus) && !defined(CINTERFACE)
476  struct IRemoteComponentUtil : public IDispatch {
477  public:
478    virtual HRESULT WINAPI InstallRemoteComponent(BSTR bstrServer,BSTR bstrPackageID,BSTR bstrCLSID) = 0;
479    virtual HRESULT WINAPI InstallRemoteComponentByName(BSTR bstrServer,BSTR bstrPackageName,BSTR bstrProgID) = 0;
480  };
481#else
482  typedef struct IRemoteComponentUtilVtbl {
483    BEGIN_INTERFACE
484      HRESULT (WINAPI *QueryInterface)(IRemoteComponentUtil *This,REFIID riid,void **ppvObject);
485      ULONG (WINAPI *AddRef)(IRemoteComponentUtil *This);
486      ULONG (WINAPI *Release)(IRemoteComponentUtil *This);
487      HRESULT (WINAPI *GetTypeInfoCount)(IRemoteComponentUtil *This,UINT *pctinfo);
488      HRESULT (WINAPI *GetTypeInfo)(IRemoteComponentUtil *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
489      HRESULT (WINAPI *GetIDsOfNames)(IRemoteComponentUtil *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
490      HRESULT (WINAPI *Invoke)(IRemoteComponentUtil *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
491      HRESULT (WINAPI *InstallRemoteComponent)(IRemoteComponentUtil *This,BSTR bstrServer,BSTR bstrPackageID,BSTR bstrCLSID);
492      HRESULT (WINAPI *InstallRemoteComponentByName)(IRemoteComponentUtil *This,BSTR bstrServer,BSTR bstrPackageName,BSTR bstrProgID);
493    END_INTERFACE
494  } IRemoteComponentUtilVtbl;
495  struct IRemoteComponentUtil {
496    CONST_VTBL struct IRemoteComponentUtilVtbl *lpVtbl;
497  };
498#ifdef COBJMACROS
499#define IRemoteComponentUtil_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
500#define IRemoteComponentUtil_AddRef(This) (This)->lpVtbl->AddRef(This)
501#define IRemoteComponentUtil_Release(This) (This)->lpVtbl->Release(This)
502#define IRemoteComponentUtil_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
503#define IRemoteComponentUtil_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
504#define IRemoteComponentUtil_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
505#define IRemoteComponentUtil_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
506#define IRemoteComponentUtil_InstallRemoteComponent(This,bstrServer,bstrPackageID,bstrCLSID) (This)->lpVtbl->InstallRemoteComponent(This,bstrServer,bstrPackageID,bstrCLSID)
507#define IRemoteComponentUtil_InstallRemoteComponentByName(This,bstrServer,bstrPackageName,bstrProgID) (This)->lpVtbl->InstallRemoteComponentByName(This,bstrServer,bstrPackageName,bstrProgID)
508#endif
509#endif
510  HRESULT WINAPI IRemoteComponentUtil_InstallRemoteComponent_Proxy(IRemoteComponentUtil *This,BSTR bstrServer,BSTR bstrPackageID,BSTR bstrCLSID);
511  void __RPC_STUB IRemoteComponentUtil_InstallRemoteComponent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
512  HRESULT WINAPI IRemoteComponentUtil_InstallRemoteComponentByName_Proxy(IRemoteComponentUtil *This,BSTR bstrServer,BSTR bstrPackageName,BSTR bstrProgID);
513  void __RPC_STUB IRemoteComponentUtil_InstallRemoteComponentByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
514#endif
515
516#ifndef __IRoleAssociationUtil_INTERFACE_DEFINED__
517#define __IRoleAssociationUtil_INTERFACE_DEFINED__
518  EXTERN_C const IID IID_IRoleAssociationUtil;
519#if defined(__cplusplus) && !defined(CINTERFACE)
520  struct IRoleAssociationUtil : public IDispatch {
521  public:
522    virtual HRESULT WINAPI AssociateRole(BSTR bstrRoleID) = 0;
523    virtual HRESULT WINAPI AssociateRoleByName(BSTR bstrRoleName) = 0;
524  };
525#else
526  typedef struct IRoleAssociationUtilVtbl {
527    BEGIN_INTERFACE
528      HRESULT (WINAPI *QueryInterface)(IRoleAssociationUtil *This,REFIID riid,void **ppvObject);
529      ULONG (WINAPI *AddRef)(IRoleAssociationUtil *This);
530      ULONG (WINAPI *Release)(IRoleAssociationUtil *This);
531      HRESULT (WINAPI *GetTypeInfoCount)(IRoleAssociationUtil *This,UINT *pctinfo);
532      HRESULT (WINAPI *GetTypeInfo)(IRoleAssociationUtil *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
533      HRESULT (WINAPI *GetIDsOfNames)(IRoleAssociationUtil *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
534      HRESULT (WINAPI *Invoke)(IRoleAssociationUtil *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
535      HRESULT (WINAPI *AssociateRole)(IRoleAssociationUtil *This,BSTR bstrRoleID);
536      HRESULT (WINAPI *AssociateRoleByName)(IRoleAssociationUtil *This,BSTR bstrRoleName);
537    END_INTERFACE
538  } IRoleAssociationUtilVtbl;
539  struct IRoleAssociationUtil {
540    CONST_VTBL struct IRoleAssociationUtilVtbl *lpVtbl;
541  };
542#ifdef COBJMACROS
543#define IRoleAssociationUtil_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
544#define IRoleAssociationUtil_AddRef(This) (This)->lpVtbl->AddRef(This)
545#define IRoleAssociationUtil_Release(This) (This)->lpVtbl->Release(This)
546#define IRoleAssociationUtil_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
547#define IRoleAssociationUtil_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
548#define IRoleAssociationUtil_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
549#define IRoleAssociationUtil_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
550#define IRoleAssociationUtil_AssociateRole(This,bstrRoleID) (This)->lpVtbl->AssociateRole(This,bstrRoleID)
551#define IRoleAssociationUtil_AssociateRoleByName(This,bstrRoleName) (This)->lpVtbl->AssociateRoleByName(This,bstrRoleName)
552#endif
553#endif
554  HRESULT WINAPI IRoleAssociationUtil_AssociateRole_Proxy(IRoleAssociationUtil *This,BSTR bstrRoleID);
555  void __RPC_STUB IRoleAssociationUtil_AssociateRole_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
556  HRESULT WINAPI IRoleAssociationUtil_AssociateRoleByName_Proxy(IRoleAssociationUtil *This,BSTR bstrRoleName);
557  void __RPC_STUB IRoleAssociationUtil_AssociateRoleByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
558#endif
559
560#ifndef __MTSAdmin_LIBRARY_DEFINED__
561#define __MTSAdmin_LIBRARY_DEFINED__
562  typedef enum __MIDL___MIDL_itf_mtxadmin_0107_0001 {
563    mtsInstallUsers = 1
564  } MTSPackageInstallOptions;
565
566  typedef enum __MIDL___MIDL_itf_mtxadmin_0107_0002 {
567    mtsExportUsers = 1
568  } MTSPackageExportOptions;
569
570  typedef enum __MIDL___MIDL_itf_mtxadmin_0107_0003 {
571    mtsErrObjectErrors = 0x80110401,mtsErrObjectInvalid = 0x80110402,mtsErrKeyMissing = 0x80110403,mtsErrAlreadyInstalled = 0x80110404,
572    mtsErrDownloadFailed = 0x80110405,mtsErrPDFWriteFail = 0x80110407,mtsErrPDFReadFail = 0x80110408,mtsErrPDFVersion = 0x80110409,
573    mtsErrCoReqCompInstalled = 0x80110410,mtsErrBadPath = 0x8011040a,mtsErrPackageExists = 0x8011040b,mtsErrRoleExists = 0x8011040c,
574    mtsErrCantCopyFile = 0x8011040d,mtsErrNoTypeLib = 0x8011040e,mtsErrNoUser = 0x8011040f,mtsErrInvalidUserids = 0x80110410,
575    mtsErrNoRegistryCLSID = 0x80110411,mtsErrBadRegistryProgID = 0x80110412,mtsErrAuthenticationLevel = 0x80110413,
576    mtsErrUserPasswdNotValid = 0x80110414,mtsErrNoRegistryRead = 0x80110415,mtsErrNoRegistryWrite = 0x80110416,mtsErrNoRegistryRepair = 0x80110417,
577    mtsErrCLSIDOrIIDMismatch = 0x80110418,mtsErrRemoteInterface = 0x80110419,mtsErrDllRegisterServer = 0x8011041a,mtsErrNoServerShare = 0x8011041b,
578    mtsErrNoAccessToUNC = 0x8011041c,mtsErrDllLoadFailed = 0x8011041d,mtsErrBadRegistryLibID = 0x8011041e,mtsErrPackDirNotFound = 0x8011041f,
579    mtsErrTreatAs = 0x80110420,mtsErrBadForward = 0x80110421,mtsErrBadIID = 0x80110422,mtsErrRegistrarFailed = 0x80110423,
580    mtsErrCompFileDoesNotExist = 0x80110424,mtsErrCompFileLoadDLLFail = 0x80110425,mtsErrCompFileGetClassObj = 0x80110426,
581    mtsErrCompFileClassNotAvail = 0x80110427,mtsErrCompFileBadTLB = 0x80110428,mtsErrCompFileNotInstallable = 0x80110429,
582    mtsErrNotChangeable = 0x8011042a,mtsErrNotDeletable = 0x8011042b,mtsErrSession = 0x8011042c,mtsErrCompFileNoRegistrar = 0x80110434
583  } MTSAdminErrorCodes;
584
585#define E_MTS_OBJECTERRORS mtsErrObjectErrors
586#define E_MTS_OBJECTINVALID mtsErrObjectInvalid
587#define E_MTS_KEYMISSING mtsErrKeyMissing
588#define E_MTS_ALREADYINSTALLED mtsErrAlreadyInstalled
589#define E_MTS_DOWNLOADFAILED mtsErrDownloadFailed
590#define E_MTS_PDFWRITEFAIL mtsErrPDFWriteFail
591#define E_MTS_PDFREADFAIL mtsErrPDFReadFail
592#define E_MTS_PDFVERSION mtsErrPDFVersion
593#define E_MTS_COREQCOMPINSTALLED mtsErrCoReqCompInstalled
594#define E_MTS_BADPATH mtsErrBadPath
595#define E_MTS_PACKAGEEXISTS mtsErrPackageExists
596#define E_MTS_ROLEEXISTS mtsErrRoleExists
597#define E_MTS_CANTCOPYFILE mtsErrCantCopyFile
598#define E_MTS_NOTYPELIB mtsErrNoTypeLib
599#define E_MTS_NOUSER mtsErrNoUser
600#define E_MTS_INVALIDUSERIDS mtsErrInvalidUserids
601#define E_MTS_NOREGISTRYCLSID mtsErrNoRegistryCLSID
602#define E_MTS_BADREGISTRYPROGID mtsErrBadRegistryProgID
603#define E_MTS_AUTHENTICATIONLEVEL mtsErrAuthenticationLevel
604#define E_MTS_USERPASSWDNOTVALID mtsErrUserPasswdNotValid
605#define E_MTS_NOREGISTRYREAD mtsErrNoRegistryRead
606#define E_MTS_NOREGISTRYWRITE mtsErrNoRegistryWrite
607#define E_MTS_NOREGISTRYREPAIR mtsErrNoRegistryRepair
608#define E_MTS_CLSIDORIIDMISMATCH mtsErrCLSIDOrIIDMismatch
609#define E_MTS_REMOTEINTERFACE mtsErrRemoteInterface
610#define E_MTS_DLLREGISTERSERVER mtsErrDllRegisterServer
611#define E_MTS_NOSERVERSHARE mtsErrNoServerShare
612#define E_MTS_NOACCESSTOUNC mtsErrNoAccessToUNC
613#define E_MTS_DLLLOADFAILED mtsErrDllLoadFailed
614#define E_MTS_BADREGISTRYLIBID mtsErrBadRegistryLibID
615#define E_MTS_PACKDIRNOTFOUND mtsErrPackDirNotFound
616#define E_MTS_TREATAS mtsErrTreatAs
617#define E_MTS_BADFORWARD mtsErrBadForward
618#define E_MTS_BADIID mtsErrBadIID
619#define E_MTS_REGISTRARFAILED mtsErrRegistrarFailed
620#define E_MTS_COMPFILE_DOESNOTEXIST mtsErrCompFileDoesNotExist
621#define E_MTS_COMPFILE_LOADDLLFAIL mtsErrCompFileLoadDLLFail
622#define E_MTS_COMPFILE_GETCLASSOBJ mtsErrCompFileGetClassObj
623#define E_MTS_COMPFILE_CLASSNOTAVAIL mtsErrCompFileClassNotAvail
624#define E_MTS_COMPFILE_BADTLB mtsErrCompFileBadTLB
625#define E_MTS_COMPFILE_NOTINSTALLABLE mtsErrCompFileNotInstallable
626#define E_MTS_NOTCHANGEABLE mtsErrNotChangeable
627#define E_MTS_NOTDELETEABLE mtsErrNotDeleteable
628#define E_MTS_SESSION mtsErrSession
629#define E_MTS_COMPFILE_NOREGISTRAR mtsErrCompFileNoRegistrar
630
631  EXTERN_C const IID LIBID_MTSAdmin;
632
633#ifdef __cplusplus
634  EXTERN_C const CLSID CLSID_Catalog;
635  class Catalog;
636#endif
637#ifdef __cplusplus
638  EXTERN_C const CLSID CLSID_CatalogObject;
639  class CatalogObject;
640#endif
641
642#ifdef __cplusplus
643  EXTERN_C const CLSID CLSID_CatalogCollection;
644  class CatalogCollection;
645#endif
646
647#ifdef __cplusplus
648  EXTERN_C const CLSID CLSID_ComponentUtil;
649  class ComponentUtil;
650#endif
651
652#ifdef __cplusplus
653  EXTERN_C const CLSID CLSID_PackageUtil;
654  class PackageUtil;
655#endif
656
657#ifdef __cplusplus
658  EXTERN_C const CLSID CLSID_RemoteComponentUtil;
659  class RemoteComponentUtil;
660#endif
661
662#ifdef __cplusplus
663  EXTERN_C const CLSID CLSID_RoleAssociationUtil;
664  class RoleAssociationUtil;
665#endif
666#endif
667
668  ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
669  unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
670  unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
671  void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
672  ULONG __RPC_API LPSAFEARRAY_UserSize(ULONG *,ULONG,LPSAFEARRAY *);
673  unsigned char *__RPC_API LPSAFEARRAY_UserMarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
674  unsigned char *__RPC_API LPSAFEARRAY_UserUnmarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
675  void __RPC_API LPSAFEARRAY_UserFree(ULONG *,LPSAFEARRAY *);
676  ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
677  unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
678  unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
679  void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
680
681#ifdef __cplusplus
682}
683#endif
684#endif
685