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