Home | History | Annotate | Download | only in include
      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
     17 extern "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