master
   1/*** Autogenerated by WIDL 10.4 from include/comadmin.idl - Do not edit ***/
   2
   3#ifdef _WIN32
   4#ifndef __REQUIRED_RPCNDR_H_VERSION__
   5#define __REQUIRED_RPCNDR_H_VERSION__ 475
   6#endif
   7#include <rpc.h>
   8#include <rpcndr.h>
   9#endif
  10
  11#ifndef COM_NO_WINDOWS_H
  12#include <windows.h>
  13#include <ole2.h>
  14#endif
  15
  16#ifndef __comadmin_h__
  17#define __comadmin_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __ICOMAdminCatalog_FWD_DEFINED__
  22#define __ICOMAdminCatalog_FWD_DEFINED__
  23typedef interface ICOMAdminCatalog ICOMAdminCatalog;
  24#ifdef __cplusplus
  25interface ICOMAdminCatalog;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __ICOMAdminCatalog2_FWD_DEFINED__
  30#define __ICOMAdminCatalog2_FWD_DEFINED__
  31typedef interface ICOMAdminCatalog2 ICOMAdminCatalog2;
  32#ifdef __cplusplus
  33interface ICOMAdminCatalog2;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __ICatalogObject_FWD_DEFINED__
  38#define __ICatalogObject_FWD_DEFINED__
  39typedef interface ICatalogObject ICatalogObject;
  40#ifdef __cplusplus
  41interface ICatalogObject;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __ICatalogCollection_FWD_DEFINED__
  46#define __ICatalogCollection_FWD_DEFINED__
  47typedef interface ICatalogCollection ICatalogCollection;
  48#ifdef __cplusplus
  49interface ICatalogCollection;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __COMAdminCatalog_FWD_DEFINED__
  54#define __COMAdminCatalog_FWD_DEFINED__
  55#ifdef __cplusplus
  56typedef class COMAdminCatalog COMAdminCatalog;
  57#else
  58typedef struct COMAdminCatalog COMAdminCatalog;
  59#endif /* defined __cplusplus */
  60#endif /* defined __COMAdminCatalog_FWD_DEFINED__ */
  61
  62#ifndef __COMAdminCatalogObject_FWD_DEFINED__
  63#define __COMAdminCatalogObject_FWD_DEFINED__
  64#ifdef __cplusplus
  65typedef class COMAdminCatalogObject COMAdminCatalogObject;
  66#else
  67typedef struct COMAdminCatalogObject COMAdminCatalogObject;
  68#endif /* defined __cplusplus */
  69#endif /* defined __COMAdminCatalogObject_FWD_DEFINED__ */
  70
  71#ifndef __COMAdminCatalogCollection_FWD_DEFINED__
  72#define __COMAdminCatalogCollection_FWD_DEFINED__
  73#ifdef __cplusplus
  74typedef class COMAdminCatalogCollection COMAdminCatalogCollection;
  75#else
  76typedef struct COMAdminCatalogCollection COMAdminCatalogCollection;
  77#endif /* defined __cplusplus */
  78#endif /* defined __COMAdminCatalogCollection_FWD_DEFINED__ */
  79
  80/* Headers for imported files */
  81
  82#include <unknwn.h>
  83#include <oaidl.h>
  84
  85#ifdef __cplusplus
  86extern "C" {
  87#endif
  88
  89/**
  90 * This file is part of the mingw-w64 runtime package.
  91 * No warranty is given; refer to the file DISCLAIMER within this package.
  92 */
  93
  94#include <winapifamily.h>
  95
  96#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  97
  98#include <objbase.h>
  99
 100typedef enum COMAdminInUse {
 101    COMAdminNotInUse = 0,
 102    COMAdminInUseByCatalog = 1,
 103    COMAdminInUseByRegistryUnknown = 2,
 104    COMAdminInUseByRegistryProxyStub = 3,
 105    COMAdminInUseByRegistryTypeLib = 4,
 106    COMAdminInUseByRegistryClsid = 5
 107} COMAdminInUse;
 108typedef enum COMAdminErrorCodes {
 109    COMAdminErrObjectErrors = 0x80110401,
 110    COMAdminErrObjectInvalid = 0x80110402,
 111    COMAdminErrKeyMissing = 0x80110403,
 112    COMAdminErrAlreadyInstalled = 0x80110404,
 113    COMAdminErrAppFileWriteFail = 0x80110407,
 114    COMAdminErrAppFileReadFail = 0x80110408,
 115    COMAdminErrAppFileVersion = 0x80110409,
 116    COMAdminErrBadPath = 0x8011040a,
 117    COMAdminErrApplicationExists = 0x8011040b,
 118    COMAdminErrRoleExists = 0x8011040c,
 119    COMAdminErrCantCopyFile = 0x8011040d,
 120    COMAdminErrNoUser = 0x8011040f,
 121    COMAdminErrInvalidUserids = 0x80110410,
 122    COMAdminErrNoRegistryCLSID = 0x80110411,
 123    COMAdminErrBadRegistryProgID = 0x80110412,
 124    COMAdminErrAuthenticationLevel = 0x80110413,
 125    COMAdminErrUserPasswdNotValid = 0x80110414,
 126    COMAdminErrCLSIDOrIIDMismatch = 0x80110418,
 127    COMAdminErrRemoteInterface = 0x80110419,
 128    COMAdminErrDllRegisterServer = 0x8011041a,
 129    COMAdminErrNoServerShare = 0x8011041b,
 130    COMAdminErrDllLoadFailed = 0x8011041d,
 131    COMAdminErrBadRegistryLibID = 0x8011041e,
 132    COMAdminErrAppDirNotFound = 0x8011041f,
 133    COMAdminErrRegistrarFailed = 0x80110423,
 134    COMAdminErrCompFileDoesNotExist = 0x80110424,
 135    COMAdminErrCompFileLoadDLLFail = 0x80110425,
 136    COMAdminErrCompFileGetClassObj = 0x80110426,
 137    COMAdminErrCompFileClassNotAvail = 0x80110427,
 138    COMAdminErrCompFileBadTLB = 0x80110428,
 139    COMAdminErrCompFileNotInstallable = 0x80110429,
 140    COMAdminErrNotChangeable = 0x8011042a,
 141    COMAdminErrNotDeletable = 0x8011042b,
 142    COMAdminErrSession = 0x8011042c,
 143    COMAdminErrCompMoveLocked = 0x8011042d,
 144    COMAdminErrCompMoveBadDest = 0x8011042e,
 145    COMAdminErrRegisterTLB = 0x80110430,
 146    COMAdminErrSystemApp = 0x80110433,
 147    COMAdminErrCompFileNoRegistrar = 0x80110434,
 148    COMAdminErrCoReqCompInstalled = 0x80110435,
 149    COMAdminErrServiceNotInstalled = 0x80110436,
 150    COMAdminErrPropertySaveFailed = 0x80110437,
 151    COMAdminErrObjectExists = 0x80110438,
 152    COMAdminErrComponentExists = 0x80110439,
 153    COMAdminErrRegFileCorrupt = 0x8011043b,
 154    COMAdminErrPropertyOverflow = 0x8011043c,
 155    COMAdminErrNotInRegistry = 0x8011043e,
 156    COMAdminErrObjectNotPoolable = 0x8011043f,
 157    COMAdminErrApplidMatchesClsid = 0x80110446,
 158    COMAdminErrRoleDoesNotExist = 0x80110447,
 159    COMAdminErrStartAppNeedsComponents = 0x80110448,
 160    COMAdminErrRequiresDifferentPlatform = 0x80110449,
 161    COMAdminErrQueuingServiceNotAvailable = 0x80110602,
 162    COMAdminErrObjectParentMissing = 0x80110808,
 163    COMAdminErrObjectDoesNotExist = 0x80110809,
 164    COMAdminErrCanNotExportAppProxy = 0x8011044a,
 165    COMAdminErrCanNotStartApp = 0x8011044b,
 166    COMAdminErrCanNotExportSystemApp = 0x8011044c,
 167    COMAdminErrCanNotSubscribeToComponent = 0x8011044d,
 168    COMAdminErrAppNotRunning = 0x8011080a,
 169    COMAdminErrEventClassCannotBeSubscriber = 0x8011044e,
 170    COMAdminErrLibAppProxyIncompatible = 0x8011044f,
 171    COMAdminErrBasePartitionOnly = 0x80110450,
 172    COMAdminErrDuplicatePartitionName = 0x80110457,
 173    COMAdminErrPartitionInUse = 0x80110459,
 174    COMAdminErrImportedComponentsNotAllowed = 0x8011045b,
 175    COMAdminErrRegdbNotInitialized = 0x80110472,
 176    COMAdminErrRegdbNotOpen = 0x80110473,
 177    COMAdminErrRegdbSystemErr = 0x80110474,
 178    COMAdminErrRegdbAlreadyRunning = 0x80110475,
 179    COMAdminErrMigVersionNotSupported = 0x80110480,
 180    COMAdminErrMigSchemaNotFound = 0x80110481,
 181    COMAdminErrCatBitnessMismatch = 0x80110482,
 182    COMAdminErrCatUnacceptableBitness = 0x80110483,
 183    COMAdminErrCatWrongAppBitnessBitness = 0x80110484,
 184    COMAdminErrCatPauseResumeNotSupported = 0x80110485,
 185    COMAdminErrCatServerFault = 0x80110486,
 186    COMAdminErrCantRecycleLibraryApps = 0x8011080f,
 187    COMAdminErrCantRecycleServiceApps = 0x80110811,
 188    COMAdminErrProcessAlreadyRecycled = 0x80110812,
 189    COMAdminErrPausedProcessMayNotBeRecycled = 0x80110813,
 190    COMAdminErrInvalidPartition = 0x8011080b,
 191    COMAdminErrPartitionMsiOnly = 0x80110819,
 192    COMAdminErrStartAppDisabled = 0x80110451,
 193    COMAdminErrCompMoveSource = 0x8011081c,
 194    COMAdminErrCompMoveDest = 0x8011081d,
 195    COMAdminErrCompMovePrivate = 0x8011081e,
 196    COMAdminErrCannotCopyEventClass = 0x80110820
 197} COMAdminErrorCodes;
 198typedef enum COMAdminComponentType {
 199    COMAdmin32BitComponent = 0x1,
 200    COMAdmin64BitComponent = 0x2
 201} COMAdminComponentType;
 202typedef enum COMAdminApplicationInstallOptions {
 203    COMAdminInstallNoUsers = 0,
 204    COMAdminInstallUsers = 1,
 205    COMAdminInstallForceOverwriteOfFiles = 2
 206} COMAdminApplicationInstallOptions;
 207typedef enum COMAdminApplicationExportOptions {
 208    COMAdminExportNoUsers = 0x0,
 209    COMAdminExportUsers = 0x1,
 210    COMAdminExportApplicationProxy = 0x2,
 211    COMAdminExportForceOverwriteOfFiles = 0x4,
 212    COMAdminExportIn10Format = 0x10
 213} COMAdminApplicationExportOptions;
 214typedef enum COMAdminThreadingModels {
 215    COMAdminThreadingModelApartment = 0,
 216    COMAdminThreadingModelFree = 1,
 217    COMAdminThreadingModelMain = 2,
 218    COMAdminThreadingModelBoth = 3,
 219    COMAdminThreadingModelNeutral = 4,
 220    COMAdminThreadingModelNotSpecified = 5
 221} COMAdminThreadingModels;
 222typedef enum COMAdminTransactionOptions {
 223    COMAdminTransactionIgnored = 0,
 224    COMAdminTransactionNone = 1,
 225    COMAdminTransactionSupported = 2,
 226    COMAdminTransactionRequired = 3,
 227    COMAdminTransactionRequiresNew = 4
 228} COMAdminTransactionOptions;
 229typedef enum COMAdminTxIsolationLevelOptions {
 230    COMAdminTxIsolationLevelAny = 0,
 231    COMAdminTxIsolationLevelReadUnCommitted = 1,
 232    COMAdminTxIsolationLevelReadCommitted = 2,
 233    COMAdminTxIsolationLevelRepeatableRead = 3,
 234    COMAdminTxIsolationLevelSerializable = 4
 235} COMAdminTxIsolationLevelOptions;
 236typedef enum COMAdminSynchronizationOptions {
 237    COMAdminSynchronizationIgnored = 0,
 238    COMAdminSynchronizationNone = 1,
 239    COMAdminSynchronizationSupported = 2,
 240    COMAdminSynchronizationRequired = 3,
 241    COMAdminSynchronizationRequiresNew = 4
 242} COMAdminSynchronizationOptions;
 243typedef enum COMAdminActivationOptions {
 244    COMAdminActivationInproc = 0,
 245    COMAdminActivationLocal = 1
 246} COMAdminActivationOptions;
 247typedef enum COMAdminAccessChecksLevelOptions {
 248    COMAdminAccessChecksApplicationLevel = 0,
 249    COMAdminAccessChecksApplicationComponentLevel = 1
 250} COMAdminAccessChecksLevelOptions;
 251typedef enum COMAdminAuthenticationLevelOptions {
 252    COMAdminAuthenticationDefault = 0,
 253    COMAdminAuthenticationNone = 1,
 254    COMAdminAuthenticationConnect = 2,
 255    COMAdminAuthenticationCall = 3,
 256    COMAdminAuthenticationPacket = 4,
 257    COMAdminAuthenticationIntegrity = 5,
 258    COMAdminAuthenticationPrivacy = 6
 259} COMAdminAuthenticationLevelOptions;
 260typedef enum COMAdminImpersonationLevelOptions {
 261    COMAdminImpersonationAnonymous = 1,
 262    COMAdminImpersonationIdentify = 2,
 263    COMAdminImpersonationImpersonate = 3,
 264    COMAdminImpersonationDelegate = 4
 265} COMAdminImpersonationLevelOptions;
 266typedef enum COMAdminAuthenticationCapabilitiesOptions {
 267    COMAdminAuthenticationCapabilitiesNone = 0x0,
 268    COMAdminAuthenticationCapabilitiesSecureReference = 0x2,
 269    COMAdminAuthenticationCapabilitiesStaticCloaking = 0x20,
 270    COMAdminAuthenticationCapabilitiesDynamicCloaking = 0x40
 271} COMAdminAuthenticationCapabilitiesOptions;
 272typedef enum COMAdminOS {
 273    COMAdminOSNotInitialized = 0,
 274    COMAdminOSWindows3_1 = 1,
 275    COMAdminOSWindows9x = 2,
 276    COMAdminOSWindows2000 = 3,
 277    COMAdminOSWindows2000AdvancedServer = 4,
 278    COMAdminOSWindows2000Unknown = 5,
 279    COMAdminOSUnknown = 6,
 280    COMAdminOSWindowsXPPersonal = 11,
 281    COMAdminOSWindowsXPProfessional = 12,
 282    COMAdminOSWindowsNETStandardServer = 13,
 283    COMAdminOSWindowsNETEnterpriseServer = 14,
 284    COMAdminOSWindowsNETDatacenterServer = 15,
 285    COMAdminOSWindowsNETWebServer = 16,
 286    COMAdminOSWindowsLonghornPersonal = 17,
 287    COMAdminOSWindowsLonghornProfessional = 18,
 288    COMAdminOSWindowsLonghornStandardServer = 19,
 289    COMAdminOSWindowsLonghornEnterpriseServer = 20,
 290    COMAdminOSWindowsLonghornDatacenterServer = 21,
 291    COMAdminOSWindowsLonghornWebServer = 22,
 292    COMAdminOSWindows7Personal = 23,
 293    COMAdminOSWindows7Professional = 24,
 294    COMAdminOSWindows7StandardServer = 25,
 295    COMAdminOSWindows7EnterpriseServer = 26,
 296    COMAdminOSWindows7DatacenterServer = 27,
 297    COMAdminOSWindows7WebServer = 28,
 298    COMAdminOSWindows8Personal = 29,
 299    COMAdminOSWindows8Professional = 30,
 300    COMAdminOSWindows8StandardServer = 31,
 301    COMAdminOSWindows8EnterpriseServer = 32,
 302    COMAdminOSWindows8DatacenterServer = 33,
 303    COMAdminOSWindows8WebServer = 34
 304} COMAdminOS;
 305typedef enum COMAdminServiceOptions {
 306    COMAdminServiceLoadBalanceRouter = 1
 307} COMAdminServiceOptions;
 308typedef enum COMAdminServiceStatusOptions {
 309    COMAdminServiceStopped = 0,
 310    COMAdminServiceStartPending = 1,
 311    COMAdminServiceStopPending = 2,
 312    COMAdminServiceRunning = 3,
 313    COMAdminServiceContinuePending = 4,
 314    COMAdminServicePausePending = 5,
 315    COMAdminServicePaused = 6,
 316    COMAdminServiceUnknownState = 7
 317} COMAdminServiceStatusOptions;
 318typedef enum COMAdminComponentFlags {
 319    COMAdminCompFlagTypeInfoFound = 0x1,
 320    COMAdminCompFlagCOMPlusPropertiesFound = 0x2,
 321    COMAdminCompFlagProxyFound = 0x4,
 322    COMAdminCompFlagInterfacesFound = 0x8,
 323    COMAdminCompFlagAlreadyInstalled = 0x10,
 324    COMAdminCompFlagNotInApplication = 0x20
 325} COMAdminComponentFlags;
 326typedef enum COMAdminQCMessageAuthenticateOptions {
 327    COMAdminQCMessageAuthenticateSecureApps = 0,
 328    COMAdminQCMessageAuthenticateOff = 1,
 329    COMAdminQCMessageAuthenticateOn = 2
 330} COMAdminQCMessageAuthenticateOptions;
 331typedef enum COMAdminFileFlags {
 332    COMAdminFileFlagLoadable = 0x1,
 333    COMAdminFileFlagCOM = 0x2,
 334    COMAdminFileFlagContainsPS = 0x4,
 335    COMAdminFileFlagContainsComp = 0x8,
 336    COMAdminFileFlagContainsTLB = 0x10,
 337    COMAdminFileFlagSelfReg = 0x20,
 338    COMAdminFileFlagSelfUnReg = 0x40,
 339    COMAdminFileFlagUnloadableDLL = 0x80,
 340    COMAdminFileFlagDoesNotExist = 0x100,
 341    COMAdminFileFlagAlreadyInstalled = 0x200,
 342    COMAdminFileFlagBadTLB = 0x400,
 343    COMAdminFileFlagGetClassObjFailed = 0x800,
 344    COMAdminFileFlagClassNotAvailable = 0x1000,
 345    COMAdminFileFlagRegistrar = 0x2000,
 346    COMAdminFileFlagNoRegistrar = 0x4000,
 347    COMAdminFileFlagDLLRegsvrFailed = 0x8000,
 348    COMAdminFileFlagRegTLBFailed = 0x10000,
 349    COMAdminFileFlagRegistrarFailed = 0x20000,
 350    COMAdminFileFlagError = 0x40000
 351} COMAdminFileFlags;
 352/*****************************************************************************
 353 * ICOMAdminCatalog interface
 354 */
 355#ifndef __ICOMAdminCatalog_INTERFACE_DEFINED__
 356#define __ICOMAdminCatalog_INTERFACE_DEFINED__
 357
 358DEFINE_GUID(IID_ICOMAdminCatalog, 0xdd662187, 0xdfc2, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
 359#if defined(__cplusplus) && !defined(CINTERFACE)
 360MIDL_INTERFACE("dd662187-dfc2-11d1-a2cf-00805fc79235")
 361ICOMAdminCatalog : public IDispatch
 362{
 363    virtual HRESULT STDMETHODCALLTYPE GetCollection(
 364        BSTR bstrCollName,
 365        IDispatch **ppCatalogCollection) = 0;
 366
 367    virtual HRESULT STDMETHODCALLTYPE Connect(
 368        BSTR bstrCatalogServerName,
 369        IDispatch **ppCatalogCollection) = 0;
 370
 371    virtual HRESULT STDMETHODCALLTYPE get_MajorVersion(
 372        LONG *plMajorVersion) = 0;
 373
 374    virtual HRESULT STDMETHODCALLTYPE get_MinorVersion(
 375        LONG *plMinorVersion) = 0;
 376
 377    virtual HRESULT STDMETHODCALLTYPE GetCollectionByQuery(
 378        BSTR bstrCollName,
 379        SAFEARRAY **ppsaVarQuery,
 380        IDispatch **ppCatalogCollection) = 0;
 381
 382    virtual HRESULT STDMETHODCALLTYPE ImportComponent(
 383        BSTR bstrApplIDOrName,
 384        BSTR bstrCLSIDOrProgID) = 0;
 385
 386    virtual HRESULT STDMETHODCALLTYPE InstallComponent(
 387        BSTR bstrApplIDOrName,
 388        BSTR bstrDLL,
 389        BSTR bstrTLB,
 390        BSTR bstrPSDLL) = 0;
 391
 392    virtual HRESULT STDMETHODCALLTYPE ShutdownApplication(
 393        BSTR bstrApplIDOrName) = 0;
 394
 395    virtual HRESULT STDMETHODCALLTYPE ExportApplication(
 396        BSTR bstrApplIDOrName,
 397        BSTR bstrApplicationFile,
 398        LONG lOptions) = 0;
 399
 400    virtual HRESULT STDMETHODCALLTYPE InstallApplication(
 401        BSTR bstrApplicationFile,
 402        BSTR bstrDestinationDirectory,
 403        LONG lOptions,
 404        BSTR bstrUserId,
 405        BSTR bstrPassword,
 406        BSTR bstrRSN) = 0;
 407
 408    virtual HRESULT STDMETHODCALLTYPE StopRouter(
 409        ) = 0;
 410
 411    virtual HRESULT STDMETHODCALLTYPE RefreshRouter(
 412        ) = 0;
 413
 414    virtual HRESULT STDMETHODCALLTYPE StartRouter(
 415        ) = 0;
 416
 417    virtual HRESULT STDMETHODCALLTYPE Reserved1(
 418        ) = 0;
 419
 420    virtual HRESULT STDMETHODCALLTYPE Reserved2(
 421        ) = 0;
 422
 423    virtual HRESULT STDMETHODCALLTYPE InstallMultipleComponents(
 424        BSTR bstrApplIDOrName,
 425        SAFEARRAY **ppsaVarFileNames,
 426        SAFEARRAY **ppsaVarCLSIDs) = 0;
 427
 428    virtual HRESULT STDMETHODCALLTYPE GetMultipleComponentsInfo(
 429        BSTR bstrApplIdOrName,
 430        SAFEARRAY **ppsaVarFileNames,
 431        SAFEARRAY **ppsaVarCLSIDs,
 432        SAFEARRAY **ppsaVarClassNames,
 433        SAFEARRAY **ppsaVarFileFlags,
 434        SAFEARRAY **ppsaVarComponentFlags) = 0;
 435
 436    virtual HRESULT STDMETHODCALLTYPE RefreshComponents(
 437        ) = 0;
 438
 439    virtual HRESULT STDMETHODCALLTYPE BackupREGDB(
 440        BSTR bstrBackupFilePath) = 0;
 441
 442    virtual HRESULT STDMETHODCALLTYPE RestoreREGDB(
 443        BSTR bstrBackupFilePath) = 0;
 444
 445    virtual HRESULT STDMETHODCALLTYPE QueryApplicationFile(
 446        BSTR bstrApplicationFile,
 447        BSTR *pbstrApplicationName,
 448        BSTR *pbstrApplicationDescription,
 449        VARIANT_BOOL *pbHasUsers,
 450        VARIANT_BOOL *pbIsProxy,
 451        SAFEARRAY **ppsaVarFileNames) = 0;
 452
 453    virtual HRESULT STDMETHODCALLTYPE StartApplication(
 454        BSTR bstrApplIdOrName) = 0;
 455
 456    virtual HRESULT STDMETHODCALLTYPE ServiceCheck(
 457        LONG lService,
 458        LONG *plStatus) = 0;
 459
 460    virtual HRESULT STDMETHODCALLTYPE InstallMultipleEventClasses(
 461        BSTR bstrApplIdOrName,
 462        SAFEARRAY **ppsaVarFileNames,
 463        SAFEARRAY **ppsaVarCLSIDS) = 0;
 464
 465    virtual HRESULT STDMETHODCALLTYPE InstallEventClass(
 466        BSTR bstrApplIdOrName,
 467        BSTR bstrDLL,
 468        BSTR bstrTLB,
 469        BSTR bstrPSDLL) = 0;
 470
 471    virtual HRESULT STDMETHODCALLTYPE GetEventClassesForIID(
 472        BSTR bstrIID,
 473        SAFEARRAY **ppsaVarCLSIDs,
 474        SAFEARRAY **ppsaVarProgIDs,
 475        SAFEARRAY **ppsaVarDescriptions) = 0;
 476
 477};
 478#ifdef __CRT_UUID_DECL
 479__CRT_UUID_DECL(ICOMAdminCatalog, 0xdd662187, 0xdfc2, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35)
 480#endif
 481#else
 482typedef struct ICOMAdminCatalogVtbl {
 483    BEGIN_INTERFACE
 484
 485    /*** IUnknown methods ***/
 486    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 487        ICOMAdminCatalog *This,
 488        REFIID riid,
 489        void **ppvObject);
 490
 491    ULONG (STDMETHODCALLTYPE *AddRef)(
 492        ICOMAdminCatalog *This);
 493
 494    ULONG (STDMETHODCALLTYPE *Release)(
 495        ICOMAdminCatalog *This);
 496
 497    /*** IDispatch methods ***/
 498    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 499        ICOMAdminCatalog *This,
 500        UINT *pctinfo);
 501
 502    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 503        ICOMAdminCatalog *This,
 504        UINT iTInfo,
 505        LCID lcid,
 506        ITypeInfo **ppTInfo);
 507
 508    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 509        ICOMAdminCatalog *This,
 510        REFIID riid,
 511        LPOLESTR *rgszNames,
 512        UINT cNames,
 513        LCID lcid,
 514        DISPID *rgDispId);
 515
 516    HRESULT (STDMETHODCALLTYPE *Invoke)(
 517        ICOMAdminCatalog *This,
 518        DISPID dispIdMember,
 519        REFIID riid,
 520        LCID lcid,
 521        WORD wFlags,
 522        DISPPARAMS *pDispParams,
 523        VARIANT *pVarResult,
 524        EXCEPINFO *pExcepInfo,
 525        UINT *puArgErr);
 526
 527    /*** ICOMAdminCatalog methods ***/
 528    HRESULT (STDMETHODCALLTYPE *GetCollection)(
 529        ICOMAdminCatalog *This,
 530        BSTR bstrCollName,
 531        IDispatch **ppCatalogCollection);
 532
 533    HRESULT (STDMETHODCALLTYPE *Connect)(
 534        ICOMAdminCatalog *This,
 535        BSTR bstrCatalogServerName,
 536        IDispatch **ppCatalogCollection);
 537
 538    HRESULT (STDMETHODCALLTYPE *get_MajorVersion)(
 539        ICOMAdminCatalog *This,
 540        LONG *plMajorVersion);
 541
 542    HRESULT (STDMETHODCALLTYPE *get_MinorVersion)(
 543        ICOMAdminCatalog *This,
 544        LONG *plMinorVersion);
 545
 546    HRESULT (STDMETHODCALLTYPE *GetCollectionByQuery)(
 547        ICOMAdminCatalog *This,
 548        BSTR bstrCollName,
 549        SAFEARRAY **ppsaVarQuery,
 550        IDispatch **ppCatalogCollection);
 551
 552    HRESULT (STDMETHODCALLTYPE *ImportComponent)(
 553        ICOMAdminCatalog *This,
 554        BSTR bstrApplIDOrName,
 555        BSTR bstrCLSIDOrProgID);
 556
 557    HRESULT (STDMETHODCALLTYPE *InstallComponent)(
 558        ICOMAdminCatalog *This,
 559        BSTR bstrApplIDOrName,
 560        BSTR bstrDLL,
 561        BSTR bstrTLB,
 562        BSTR bstrPSDLL);
 563
 564    HRESULT (STDMETHODCALLTYPE *ShutdownApplication)(
 565        ICOMAdminCatalog *This,
 566        BSTR bstrApplIDOrName);
 567
 568    HRESULT (STDMETHODCALLTYPE *ExportApplication)(
 569        ICOMAdminCatalog *This,
 570        BSTR bstrApplIDOrName,
 571        BSTR bstrApplicationFile,
 572        LONG lOptions);
 573
 574    HRESULT (STDMETHODCALLTYPE *InstallApplication)(
 575        ICOMAdminCatalog *This,
 576        BSTR bstrApplicationFile,
 577        BSTR bstrDestinationDirectory,
 578        LONG lOptions,
 579        BSTR bstrUserId,
 580        BSTR bstrPassword,
 581        BSTR bstrRSN);
 582
 583    HRESULT (STDMETHODCALLTYPE *StopRouter)(
 584        ICOMAdminCatalog *This);
 585
 586    HRESULT (STDMETHODCALLTYPE *RefreshRouter)(
 587        ICOMAdminCatalog *This);
 588
 589    HRESULT (STDMETHODCALLTYPE *StartRouter)(
 590        ICOMAdminCatalog *This);
 591
 592    HRESULT (STDMETHODCALLTYPE *Reserved1)(
 593        ICOMAdminCatalog *This);
 594
 595    HRESULT (STDMETHODCALLTYPE *Reserved2)(
 596        ICOMAdminCatalog *This);
 597
 598    HRESULT (STDMETHODCALLTYPE *InstallMultipleComponents)(
 599        ICOMAdminCatalog *This,
 600        BSTR bstrApplIDOrName,
 601        SAFEARRAY **ppsaVarFileNames,
 602        SAFEARRAY **ppsaVarCLSIDs);
 603
 604    HRESULT (STDMETHODCALLTYPE *GetMultipleComponentsInfo)(
 605        ICOMAdminCatalog *This,
 606        BSTR bstrApplIdOrName,
 607        SAFEARRAY **ppsaVarFileNames,
 608        SAFEARRAY **ppsaVarCLSIDs,
 609        SAFEARRAY **ppsaVarClassNames,
 610        SAFEARRAY **ppsaVarFileFlags,
 611        SAFEARRAY **ppsaVarComponentFlags);
 612
 613    HRESULT (STDMETHODCALLTYPE *RefreshComponents)(
 614        ICOMAdminCatalog *This);
 615
 616    HRESULT (STDMETHODCALLTYPE *BackupREGDB)(
 617        ICOMAdminCatalog *This,
 618        BSTR bstrBackupFilePath);
 619
 620    HRESULT (STDMETHODCALLTYPE *RestoreREGDB)(
 621        ICOMAdminCatalog *This,
 622        BSTR bstrBackupFilePath);
 623
 624    HRESULT (STDMETHODCALLTYPE *QueryApplicationFile)(
 625        ICOMAdminCatalog *This,
 626        BSTR bstrApplicationFile,
 627        BSTR *pbstrApplicationName,
 628        BSTR *pbstrApplicationDescription,
 629        VARIANT_BOOL *pbHasUsers,
 630        VARIANT_BOOL *pbIsProxy,
 631        SAFEARRAY **ppsaVarFileNames);
 632
 633    HRESULT (STDMETHODCALLTYPE *StartApplication)(
 634        ICOMAdminCatalog *This,
 635        BSTR bstrApplIdOrName);
 636
 637    HRESULT (STDMETHODCALLTYPE *ServiceCheck)(
 638        ICOMAdminCatalog *This,
 639        LONG lService,
 640        LONG *plStatus);
 641
 642    HRESULT (STDMETHODCALLTYPE *InstallMultipleEventClasses)(
 643        ICOMAdminCatalog *This,
 644        BSTR bstrApplIdOrName,
 645        SAFEARRAY **ppsaVarFileNames,
 646        SAFEARRAY **ppsaVarCLSIDS);
 647
 648    HRESULT (STDMETHODCALLTYPE *InstallEventClass)(
 649        ICOMAdminCatalog *This,
 650        BSTR bstrApplIdOrName,
 651        BSTR bstrDLL,
 652        BSTR bstrTLB,
 653        BSTR bstrPSDLL);
 654
 655    HRESULT (STDMETHODCALLTYPE *GetEventClassesForIID)(
 656        ICOMAdminCatalog *This,
 657        BSTR bstrIID,
 658        SAFEARRAY **ppsaVarCLSIDs,
 659        SAFEARRAY **ppsaVarProgIDs,
 660        SAFEARRAY **ppsaVarDescriptions);
 661
 662    END_INTERFACE
 663} ICOMAdminCatalogVtbl;
 664
 665interface ICOMAdminCatalog {
 666    CONST_VTBL ICOMAdminCatalogVtbl* lpVtbl;
 667};
 668
 669#ifdef COBJMACROS
 670#ifndef WIDL_C_INLINE_WRAPPERS
 671/*** IUnknown methods ***/
 672#define ICOMAdminCatalog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 673#define ICOMAdminCatalog_AddRef(This) (This)->lpVtbl->AddRef(This)
 674#define ICOMAdminCatalog_Release(This) (This)->lpVtbl->Release(This)
 675/*** IDispatch methods ***/
 676#define ICOMAdminCatalog_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 677#define ICOMAdminCatalog_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 678#define ICOMAdminCatalog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 679#define ICOMAdminCatalog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 680/*** ICOMAdminCatalog methods ***/
 681#define ICOMAdminCatalog_GetCollection(This,bstrCollName,ppCatalogCollection) (This)->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection)
 682#define ICOMAdminCatalog_Connect(This,bstrCatalogServerName,ppCatalogCollection) (This)->lpVtbl->Connect(This,bstrCatalogServerName,ppCatalogCollection)
 683#define ICOMAdminCatalog_get_MajorVersion(This,plMajorVersion) (This)->lpVtbl->get_MajorVersion(This,plMajorVersion)
 684#define ICOMAdminCatalog_get_MinorVersion(This,plMinorVersion) (This)->lpVtbl->get_MinorVersion(This,plMinorVersion)
 685#define ICOMAdminCatalog_GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection) (This)->lpVtbl->GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection)
 686#define ICOMAdminCatalog_ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID) (This)->lpVtbl->ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID)
 687#define ICOMAdminCatalog_InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL) (This)->lpVtbl->InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL)
 688#define ICOMAdminCatalog_ShutdownApplication(This,bstrApplIDOrName) (This)->lpVtbl->ShutdownApplication(This,bstrApplIDOrName)
 689#define ICOMAdminCatalog_ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions) (This)->lpVtbl->ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions)
 690#define ICOMAdminCatalog_InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN) (This)->lpVtbl->InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN)
 691#define ICOMAdminCatalog_StopRouter(This) (This)->lpVtbl->StopRouter(This)
 692#define ICOMAdminCatalog_RefreshRouter(This) (This)->lpVtbl->RefreshRouter(This)
 693#define ICOMAdminCatalog_StartRouter(This) (This)->lpVtbl->StartRouter(This)
 694#define ICOMAdminCatalog_Reserved1(This) (This)->lpVtbl->Reserved1(This)
 695#define ICOMAdminCatalog_Reserved2(This) (This)->lpVtbl->Reserved2(This)
 696#define ICOMAdminCatalog_InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs) (This)->lpVtbl->InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs)
 697#define ICOMAdminCatalog_GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags) (This)->lpVtbl->GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags)
 698#define ICOMAdminCatalog_RefreshComponents(This) (This)->lpVtbl->RefreshComponents(This)
 699#define ICOMAdminCatalog_BackupREGDB(This,bstrBackupFilePath) (This)->lpVtbl->BackupREGDB(This,bstrBackupFilePath)
 700#define ICOMAdminCatalog_RestoreREGDB(This,bstrBackupFilePath) (This)->lpVtbl->RestoreREGDB(This,bstrBackupFilePath)
 701#define ICOMAdminCatalog_QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames) (This)->lpVtbl->QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames)
 702#define ICOMAdminCatalog_StartApplication(This,bstrApplIdOrName) (This)->lpVtbl->StartApplication(This,bstrApplIdOrName)
 703#define ICOMAdminCatalog_ServiceCheck(This,lService,plStatus) (This)->lpVtbl->ServiceCheck(This,lService,plStatus)
 704#define ICOMAdminCatalog_InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS) (This)->lpVtbl->InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS)
 705#define ICOMAdminCatalog_InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL) (This)->lpVtbl->InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL)
 706#define ICOMAdminCatalog_GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions) (This)->lpVtbl->GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions)
 707#else
 708/*** IUnknown methods ***/
 709static inline HRESULT ICOMAdminCatalog_QueryInterface(ICOMAdminCatalog* This,REFIID riid,void **ppvObject) {
 710    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 711}
 712static inline ULONG ICOMAdminCatalog_AddRef(ICOMAdminCatalog* This) {
 713    return This->lpVtbl->AddRef(This);
 714}
 715static inline ULONG ICOMAdminCatalog_Release(ICOMAdminCatalog* This) {
 716    return This->lpVtbl->Release(This);
 717}
 718/*** IDispatch methods ***/
 719static inline HRESULT ICOMAdminCatalog_GetTypeInfoCount(ICOMAdminCatalog* This,UINT *pctinfo) {
 720    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 721}
 722static inline HRESULT ICOMAdminCatalog_GetTypeInfo(ICOMAdminCatalog* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 723    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 724}
 725static inline HRESULT ICOMAdminCatalog_GetIDsOfNames(ICOMAdminCatalog* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
 726    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
 727}
 728static inline HRESULT ICOMAdminCatalog_Invoke(ICOMAdminCatalog* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
 729    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
 730}
 731/*** ICOMAdminCatalog methods ***/
 732static inline HRESULT ICOMAdminCatalog_GetCollection(ICOMAdminCatalog* This,BSTR bstrCollName,IDispatch **ppCatalogCollection) {
 733    return This->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection);
 734}
 735static inline HRESULT ICOMAdminCatalog_Connect(ICOMAdminCatalog* This,BSTR bstrCatalogServerName,IDispatch **ppCatalogCollection) {
 736    return This->lpVtbl->Connect(This,bstrCatalogServerName,ppCatalogCollection);
 737}
 738static inline HRESULT ICOMAdminCatalog_get_MajorVersion(ICOMAdminCatalog* This,LONG *plMajorVersion) {
 739    return This->lpVtbl->get_MajorVersion(This,plMajorVersion);
 740}
 741static inline HRESULT ICOMAdminCatalog_get_MinorVersion(ICOMAdminCatalog* This,LONG *plMinorVersion) {
 742    return This->lpVtbl->get_MinorVersion(This,plMinorVersion);
 743}
 744static inline HRESULT ICOMAdminCatalog_GetCollectionByQuery(ICOMAdminCatalog* This,BSTR bstrCollName,SAFEARRAY **ppsaVarQuery,IDispatch **ppCatalogCollection) {
 745    return This->lpVtbl->GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection);
 746}
 747static inline HRESULT ICOMAdminCatalog_ImportComponent(ICOMAdminCatalog* This,BSTR bstrApplIDOrName,BSTR bstrCLSIDOrProgID) {
 748    return This->lpVtbl->ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID);
 749}
 750static inline HRESULT ICOMAdminCatalog_InstallComponent(ICOMAdminCatalog* This,BSTR bstrApplIDOrName,BSTR bstrDLL,BSTR bstrTLB,BSTR bstrPSDLL) {
 751    return This->lpVtbl->InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL);
 752}
 753static inline HRESULT ICOMAdminCatalog_ShutdownApplication(ICOMAdminCatalog* This,BSTR bstrApplIDOrName) {
 754    return This->lpVtbl->ShutdownApplication(This,bstrApplIDOrName);
 755}
 756static inline HRESULT ICOMAdminCatalog_ExportApplication(ICOMAdminCatalog* This,BSTR bstrApplIDOrName,BSTR bstrApplicationFile,LONG lOptions) {
 757    return This->lpVtbl->ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions);
 758}
 759static inline HRESULT ICOMAdminCatalog_InstallApplication(ICOMAdminCatalog* This,BSTR bstrApplicationFile,BSTR bstrDestinationDirectory,LONG lOptions,BSTR bstrUserId,BSTR bstrPassword,BSTR bstrRSN) {
 760    return This->lpVtbl->InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN);
 761}
 762static inline HRESULT ICOMAdminCatalog_StopRouter(ICOMAdminCatalog* This) {
 763    return This->lpVtbl->StopRouter(This);
 764}
 765static inline HRESULT ICOMAdminCatalog_RefreshRouter(ICOMAdminCatalog* This) {
 766    return This->lpVtbl->RefreshRouter(This);
 767}
 768static inline HRESULT ICOMAdminCatalog_StartRouter(ICOMAdminCatalog* This) {
 769    return This->lpVtbl->StartRouter(This);
 770}
 771static inline HRESULT ICOMAdminCatalog_Reserved1(ICOMAdminCatalog* This) {
 772    return This->lpVtbl->Reserved1(This);
 773}
 774static inline HRESULT ICOMAdminCatalog_Reserved2(ICOMAdminCatalog* This) {
 775    return This->lpVtbl->Reserved2(This);
 776}
 777static inline HRESULT ICOMAdminCatalog_InstallMultipleComponents(ICOMAdminCatalog* This,BSTR bstrApplIDOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDs) {
 778    return This->lpVtbl->InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs);
 779}
 780static inline HRESULT ICOMAdminCatalog_GetMultipleComponentsInfo(ICOMAdminCatalog* This,BSTR bstrApplIdOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDs,SAFEARRAY **ppsaVarClassNames,SAFEARRAY **ppsaVarFileFlags,SAFEARRAY **ppsaVarComponentFlags) {
 781    return This->lpVtbl->GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags);
 782}
 783static inline HRESULT ICOMAdminCatalog_RefreshComponents(ICOMAdminCatalog* This) {
 784    return This->lpVtbl->RefreshComponents(This);
 785}
 786static inline HRESULT ICOMAdminCatalog_BackupREGDB(ICOMAdminCatalog* This,BSTR bstrBackupFilePath) {
 787    return This->lpVtbl->BackupREGDB(This,bstrBackupFilePath);
 788}
 789static inline HRESULT ICOMAdminCatalog_RestoreREGDB(ICOMAdminCatalog* This,BSTR bstrBackupFilePath) {
 790    return This->lpVtbl->RestoreREGDB(This,bstrBackupFilePath);
 791}
 792static inline HRESULT ICOMAdminCatalog_QueryApplicationFile(ICOMAdminCatalog* This,BSTR bstrApplicationFile,BSTR *pbstrApplicationName,BSTR *pbstrApplicationDescription,VARIANT_BOOL *pbHasUsers,VARIANT_BOOL *pbIsProxy,SAFEARRAY **ppsaVarFileNames) {
 793    return This->lpVtbl->QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames);
 794}
 795static inline HRESULT ICOMAdminCatalog_StartApplication(ICOMAdminCatalog* This,BSTR bstrApplIdOrName) {
 796    return This->lpVtbl->StartApplication(This,bstrApplIdOrName);
 797}
 798static inline HRESULT ICOMAdminCatalog_ServiceCheck(ICOMAdminCatalog* This,LONG lService,LONG *plStatus) {
 799    return This->lpVtbl->ServiceCheck(This,lService,plStatus);
 800}
 801static inline HRESULT ICOMAdminCatalog_InstallMultipleEventClasses(ICOMAdminCatalog* This,BSTR bstrApplIdOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDS) {
 802    return This->lpVtbl->InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS);
 803}
 804static inline HRESULT ICOMAdminCatalog_InstallEventClass(ICOMAdminCatalog* This,BSTR bstrApplIdOrName,BSTR bstrDLL,BSTR bstrTLB,BSTR bstrPSDLL) {
 805    return This->lpVtbl->InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL);
 806}
 807static inline HRESULT ICOMAdminCatalog_GetEventClassesForIID(ICOMAdminCatalog* This,BSTR bstrIID,SAFEARRAY **ppsaVarCLSIDs,SAFEARRAY **ppsaVarProgIDs,SAFEARRAY **ppsaVarDescriptions) {
 808    return This->lpVtbl->GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions);
 809}
 810#endif
 811#endif
 812
 813#endif
 814
 815
 816#endif  /* __ICOMAdminCatalog_INTERFACE_DEFINED__ */
 817
 818/*****************************************************************************
 819 * ICOMAdminCatalog2 interface
 820 */
 821#ifndef __ICOMAdminCatalog2_INTERFACE_DEFINED__
 822#define __ICOMAdminCatalog2_INTERFACE_DEFINED__
 823
 824DEFINE_GUID(IID_ICOMAdminCatalog2, 0x790c6e0b, 0x9194, 0x4cc9, 0x94,0x26, 0xa4,0x8a,0x63,0x18,0x56,0x96);
 825#if defined(__cplusplus) && !defined(CINTERFACE)
 826MIDL_INTERFACE("790c6e0b-9194-4cc9-9426-a48a63185696")
 827ICOMAdminCatalog2 : public ICOMAdminCatalog
 828{
 829    virtual HRESULT STDMETHODCALLTYPE GetCollectionByQuery2(
 830        BSTR bstrCollectionName,
 831        VARIANT *pVarQueryStrings,
 832        IDispatch **ppCatalogCollection) = 0;
 833
 834    virtual HRESULT STDMETHODCALLTYPE GetApplicationInstanceIDFromProcessID(
 835        LONG lProcessID,
 836        BSTR *pbstrApplicationInstanceID) = 0;
 837
 838    virtual HRESULT STDMETHODCALLTYPE ShutdownApplicationInstances(
 839        VARIANT *pVarApplicationInstanceID) = 0;
 840
 841    virtual HRESULT STDMETHODCALLTYPE PauseApplicationInstances(
 842        VARIANT *pVarApplicationInstanceID) = 0;
 843
 844    virtual HRESULT STDMETHODCALLTYPE ResumeApplicationInstances(
 845        VARIANT *pVarApplicationInstanceID) = 0;
 846
 847    virtual HRESULT STDMETHODCALLTYPE RecycleApplicationInstances(
 848        VARIANT *pVarApplicationInstanceID,
 849        LONG lReasonCode) = 0;
 850
 851    virtual HRESULT STDMETHODCALLTYPE AreApplicationInstancesPaused(
 852        VARIANT *pVarApplicationInstanceID,
 853        VARIANT_BOOL *pVarBoolPaused) = 0;
 854
 855    virtual HRESULT STDMETHODCALLTYPE DumpApplicationInstance(
 856        BSTR bstrApplicationInstanceID,
 857        BSTR bstrDirectory,
 858        LONG lMaxImages,
 859        BSTR *pbstrDumpFile) = 0;
 860
 861    virtual HRESULT STDMETHODCALLTYPE get_IsApplicationInstanceDumpSupported(
 862        VARIANT_BOOL *pVarBoolDumpSupported) = 0;
 863
 864    virtual HRESULT STDMETHODCALLTYPE CreateServiceForApplication(
 865        BSTR bstrApplicationIDOrName,
 866        BSTR bstrServiceName,
 867        BSTR bstrStartType,
 868        BSTR bstrErrorControl,
 869        BSTR bstrDependencies,
 870        BSTR bstrRunAs,
 871        BSTR bstrPassword,
 872        VARIANT_BOOL bDesktopOk) = 0;
 873
 874    virtual HRESULT STDMETHODCALLTYPE DeleteServiceForApplication(
 875        BSTR bstrApplicationIDOrName) = 0;
 876
 877    virtual HRESULT STDMETHODCALLTYPE GetPartitionID(
 878        BSTR bstrApplicationIDOrName,
 879        BSTR *pbstrPartitionID) = 0;
 880
 881    virtual HRESULT STDMETHODCALLTYPE GetPartitionName(
 882        BSTR bstrApplicationIDOrName,
 883        BSTR *pbstrPartitionName) = 0;
 884
 885    virtual HRESULT STDMETHODCALLTYPE put_CurrentPartition(
 886        BSTR bstrPartitionIDOrName) = 0;
 887
 888    virtual HRESULT STDMETHODCALLTYPE get_CurrentPartitionID(
 889        BSTR *pbstrPartitionID) = 0;
 890
 891    virtual HRESULT STDMETHODCALLTYPE get_CurrentPartitionName(
 892        BSTR *pbstrPartitionName) = 0;
 893
 894    virtual HRESULT STDMETHODCALLTYPE get_GlobalPartitionID(
 895        BSTR *pbstrGlobalPartitionID) = 0;
 896
 897    virtual HRESULT STDMETHODCALLTYPE FlushPartitionCache(
 898        ) = 0;
 899
 900    virtual HRESULT STDMETHODCALLTYPE CopyApplications(
 901        BSTR bstrSourcePartitionIDOrName,
 902        VARIANT *pVarApplicationID,
 903        BSTR bstrDestinationPartitionIDOrName) = 0;
 904
 905    virtual HRESULT STDMETHODCALLTYPE CopyComponents(
 906        BSTR bstrSourceApplicationIDOrName,
 907        VARIANT *pVarCLSIDOrProgID,
 908        BSTR bstrDestinationApplicationIDOrName) = 0;
 909
 910    virtual HRESULT STDMETHODCALLTYPE MoveComponents(
 911        BSTR bstrSourceApplicationIDOrName,
 912        VARIANT *pVarCLSIDOrProgID,
 913        BSTR bstrDestinationApplicationIDOrName) = 0;
 914
 915    virtual HRESULT STDMETHODCALLTYPE AliasComponent(
 916        BSTR bstrSrcApplicationIDOrName,
 917        BSTR bstrCLSIDOrProgID,
 918        BSTR bstrDestApplicationIDOrName,
 919        BSTR bstrNewProgId,
 920        BSTR bstrNewClsid) = 0;
 921
 922    virtual HRESULT STDMETHODCALLTYPE IsSafeToDelete(
 923        BSTR bstrDllName,
 924        COMAdminInUse *pCOMAdminInUse) = 0;
 925
 926    virtual HRESULT STDMETHODCALLTYPE ImportUnconfiguredComponents(
 927        BSTR bstrApplicationIDOrName,
 928        VARIANT *pVarCLSIDOrProgID,
 929        VARIANT *pVarComponentType) = 0;
 930
 931    virtual HRESULT STDMETHODCALLTYPE PromoteUnconfiguredComponents(
 932        BSTR bstrApplicationIDOrName,
 933        VARIANT *pVarCLSIDOrProgID,
 934        VARIANT *pVarComponentType) = 0;
 935
 936    virtual HRESULT STDMETHODCALLTYPE ImportComponents(
 937        BSTR bstrApplicationIDOrName,
 938        VARIANT *pVarCLSIDOrProgID,
 939        VARIANT *pVarComponentType) = 0;
 940
 941    virtual HRESULT STDMETHODCALLTYPE get_Is64BitCatalogServer(
 942        VARIANT_BOOL *pbIs64Bit) = 0;
 943
 944    virtual HRESULT STDMETHODCALLTYPE ExportPartition(
 945        BSTR bstrPartitionIDOrName,
 946        BSTR bstrPartitionFileName,
 947        LONG lOptions) = 0;
 948
 949    virtual HRESULT STDMETHODCALLTYPE InstallPartition(
 950        BSTR bstrFileName,
 951        BSTR bstrDestDirectory,
 952        LONG lOptions,
 953        BSTR bstrUserID,
 954        BSTR bstrPassword,
 955        BSTR bstrRSN) = 0;
 956
 957    virtual HRESULT STDMETHODCALLTYPE QueryApplicationFile2(
 958        BSTR bstrApplicationFile,
 959        IDispatch **ppFilesForImport) = 0;
 960
 961    virtual HRESULT STDMETHODCALLTYPE GetComponentVersionCount(
 962        BSTR bstrCLSIDOrProgID,
 963        LONG *plVersionCount) = 0;
 964
 965};
 966#ifdef __CRT_UUID_DECL
 967__CRT_UUID_DECL(ICOMAdminCatalog2, 0x790c6e0b, 0x9194, 0x4cc9, 0x94,0x26, 0xa4,0x8a,0x63,0x18,0x56,0x96)
 968#endif
 969#else
 970typedef struct ICOMAdminCatalog2Vtbl {
 971    BEGIN_INTERFACE
 972
 973    /*** IUnknown methods ***/
 974    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 975        ICOMAdminCatalog2 *This,
 976        REFIID riid,
 977        void **ppvObject);
 978
 979    ULONG (STDMETHODCALLTYPE *AddRef)(
 980        ICOMAdminCatalog2 *This);
 981
 982    ULONG (STDMETHODCALLTYPE *Release)(
 983        ICOMAdminCatalog2 *This);
 984
 985    /*** IDispatch methods ***/
 986    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 987        ICOMAdminCatalog2 *This,
 988        UINT *pctinfo);
 989
 990    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 991        ICOMAdminCatalog2 *This,
 992        UINT iTInfo,
 993        LCID lcid,
 994        ITypeInfo **ppTInfo);
 995
 996    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 997        ICOMAdminCatalog2 *This,
 998        REFIID riid,
 999        LPOLESTR *rgszNames,
1000        UINT cNames,
1001        LCID lcid,
1002        DISPID *rgDispId);
1003
1004    HRESULT (STDMETHODCALLTYPE *Invoke)(
1005        ICOMAdminCatalog2 *This,
1006        DISPID dispIdMember,
1007        REFIID riid,
1008        LCID lcid,
1009        WORD wFlags,
1010        DISPPARAMS *pDispParams,
1011        VARIANT *pVarResult,
1012        EXCEPINFO *pExcepInfo,
1013        UINT *puArgErr);
1014
1015    /*** ICOMAdminCatalog methods ***/
1016    HRESULT (STDMETHODCALLTYPE *GetCollection)(
1017        ICOMAdminCatalog2 *This,
1018        BSTR bstrCollName,
1019        IDispatch **ppCatalogCollection);
1020
1021    HRESULT (STDMETHODCALLTYPE *Connect)(
1022        ICOMAdminCatalog2 *This,
1023        BSTR bstrCatalogServerName,
1024        IDispatch **ppCatalogCollection);
1025
1026    HRESULT (STDMETHODCALLTYPE *get_MajorVersion)(
1027        ICOMAdminCatalog2 *This,
1028        LONG *plMajorVersion);
1029
1030    HRESULT (STDMETHODCALLTYPE *get_MinorVersion)(
1031        ICOMAdminCatalog2 *This,
1032        LONG *plMinorVersion);
1033
1034    HRESULT (STDMETHODCALLTYPE *GetCollectionByQuery)(
1035        ICOMAdminCatalog2 *This,
1036        BSTR bstrCollName,
1037        SAFEARRAY **ppsaVarQuery,
1038        IDispatch **ppCatalogCollection);
1039
1040    HRESULT (STDMETHODCALLTYPE *ImportComponent)(
1041        ICOMAdminCatalog2 *This,
1042        BSTR bstrApplIDOrName,
1043        BSTR bstrCLSIDOrProgID);
1044
1045    HRESULT (STDMETHODCALLTYPE *InstallComponent)(
1046        ICOMAdminCatalog2 *This,
1047        BSTR bstrApplIDOrName,
1048        BSTR bstrDLL,
1049        BSTR bstrTLB,
1050        BSTR bstrPSDLL);
1051
1052    HRESULT (STDMETHODCALLTYPE *ShutdownApplication)(
1053        ICOMAdminCatalog2 *This,
1054        BSTR bstrApplIDOrName);
1055
1056    HRESULT (STDMETHODCALLTYPE *ExportApplication)(
1057        ICOMAdminCatalog2 *This,
1058        BSTR bstrApplIDOrName,
1059        BSTR bstrApplicationFile,
1060        LONG lOptions);
1061
1062    HRESULT (STDMETHODCALLTYPE *InstallApplication)(
1063        ICOMAdminCatalog2 *This,
1064        BSTR bstrApplicationFile,
1065        BSTR bstrDestinationDirectory,
1066        LONG lOptions,
1067        BSTR bstrUserId,
1068        BSTR bstrPassword,
1069        BSTR bstrRSN);
1070
1071    HRESULT (STDMETHODCALLTYPE *StopRouter)(
1072        ICOMAdminCatalog2 *This);
1073
1074    HRESULT (STDMETHODCALLTYPE *RefreshRouter)(
1075        ICOMAdminCatalog2 *This);
1076
1077    HRESULT (STDMETHODCALLTYPE *StartRouter)(
1078        ICOMAdminCatalog2 *This);
1079
1080    HRESULT (STDMETHODCALLTYPE *Reserved1)(
1081        ICOMAdminCatalog2 *This);
1082
1083    HRESULT (STDMETHODCALLTYPE *Reserved2)(
1084        ICOMAdminCatalog2 *This);
1085
1086    HRESULT (STDMETHODCALLTYPE *InstallMultipleComponents)(
1087        ICOMAdminCatalog2 *This,
1088        BSTR bstrApplIDOrName,
1089        SAFEARRAY **ppsaVarFileNames,
1090        SAFEARRAY **ppsaVarCLSIDs);
1091
1092    HRESULT (STDMETHODCALLTYPE *GetMultipleComponentsInfo)(
1093        ICOMAdminCatalog2 *This,
1094        BSTR bstrApplIdOrName,
1095        SAFEARRAY **ppsaVarFileNames,
1096        SAFEARRAY **ppsaVarCLSIDs,
1097        SAFEARRAY **ppsaVarClassNames,
1098        SAFEARRAY **ppsaVarFileFlags,
1099        SAFEARRAY **ppsaVarComponentFlags);
1100
1101    HRESULT (STDMETHODCALLTYPE *RefreshComponents)(
1102        ICOMAdminCatalog2 *This);
1103
1104    HRESULT (STDMETHODCALLTYPE *BackupREGDB)(
1105        ICOMAdminCatalog2 *This,
1106        BSTR bstrBackupFilePath);
1107
1108    HRESULT (STDMETHODCALLTYPE *RestoreREGDB)(
1109        ICOMAdminCatalog2 *This,
1110        BSTR bstrBackupFilePath);
1111
1112    HRESULT (STDMETHODCALLTYPE *QueryApplicationFile)(
1113        ICOMAdminCatalog2 *This,
1114        BSTR bstrApplicationFile,
1115        BSTR *pbstrApplicationName,
1116        BSTR *pbstrApplicationDescription,
1117        VARIANT_BOOL *pbHasUsers,
1118        VARIANT_BOOL *pbIsProxy,
1119        SAFEARRAY **ppsaVarFileNames);
1120
1121    HRESULT (STDMETHODCALLTYPE *StartApplication)(
1122        ICOMAdminCatalog2 *This,
1123        BSTR bstrApplIdOrName);
1124
1125    HRESULT (STDMETHODCALLTYPE *ServiceCheck)(
1126        ICOMAdminCatalog2 *This,
1127        LONG lService,
1128        LONG *plStatus);
1129
1130    HRESULT (STDMETHODCALLTYPE *InstallMultipleEventClasses)(
1131        ICOMAdminCatalog2 *This,
1132        BSTR bstrApplIdOrName,
1133        SAFEARRAY **ppsaVarFileNames,
1134        SAFEARRAY **ppsaVarCLSIDS);
1135
1136    HRESULT (STDMETHODCALLTYPE *InstallEventClass)(
1137        ICOMAdminCatalog2 *This,
1138        BSTR bstrApplIdOrName,
1139        BSTR bstrDLL,
1140        BSTR bstrTLB,
1141        BSTR bstrPSDLL);
1142
1143    HRESULT (STDMETHODCALLTYPE *GetEventClassesForIID)(
1144        ICOMAdminCatalog2 *This,
1145        BSTR bstrIID,
1146        SAFEARRAY **ppsaVarCLSIDs,
1147        SAFEARRAY **ppsaVarProgIDs,
1148        SAFEARRAY **ppsaVarDescriptions);
1149
1150    /*** ICOMAdminCatalog2 methods ***/
1151    HRESULT (STDMETHODCALLTYPE *GetCollectionByQuery2)(
1152        ICOMAdminCatalog2 *This,
1153        BSTR bstrCollectionName,
1154        VARIANT *pVarQueryStrings,
1155        IDispatch **ppCatalogCollection);
1156
1157    HRESULT (STDMETHODCALLTYPE *GetApplicationInstanceIDFromProcessID)(
1158        ICOMAdminCatalog2 *This,
1159        LONG lProcessID,
1160        BSTR *pbstrApplicationInstanceID);
1161
1162    HRESULT (STDMETHODCALLTYPE *ShutdownApplicationInstances)(
1163        ICOMAdminCatalog2 *This,
1164        VARIANT *pVarApplicationInstanceID);
1165
1166    HRESULT (STDMETHODCALLTYPE *PauseApplicationInstances)(
1167        ICOMAdminCatalog2 *This,
1168        VARIANT *pVarApplicationInstanceID);
1169
1170    HRESULT (STDMETHODCALLTYPE *ResumeApplicationInstances)(
1171        ICOMAdminCatalog2 *This,
1172        VARIANT *pVarApplicationInstanceID);
1173
1174    HRESULT (STDMETHODCALLTYPE *RecycleApplicationInstances)(
1175        ICOMAdminCatalog2 *This,
1176        VARIANT *pVarApplicationInstanceID,
1177        LONG lReasonCode);
1178
1179    HRESULT (STDMETHODCALLTYPE *AreApplicationInstancesPaused)(
1180        ICOMAdminCatalog2 *This,
1181        VARIANT *pVarApplicationInstanceID,
1182        VARIANT_BOOL *pVarBoolPaused);
1183
1184    HRESULT (STDMETHODCALLTYPE *DumpApplicationInstance)(
1185        ICOMAdminCatalog2 *This,
1186        BSTR bstrApplicationInstanceID,
1187        BSTR bstrDirectory,
1188        LONG lMaxImages,
1189        BSTR *pbstrDumpFile);
1190
1191    HRESULT (STDMETHODCALLTYPE *get_IsApplicationInstanceDumpSupported)(
1192        ICOMAdminCatalog2 *This,
1193        VARIANT_BOOL *pVarBoolDumpSupported);
1194
1195    HRESULT (STDMETHODCALLTYPE *CreateServiceForApplication)(
1196        ICOMAdminCatalog2 *This,
1197        BSTR bstrApplicationIDOrName,
1198        BSTR bstrServiceName,
1199        BSTR bstrStartType,
1200        BSTR bstrErrorControl,
1201        BSTR bstrDependencies,
1202        BSTR bstrRunAs,
1203        BSTR bstrPassword,
1204        VARIANT_BOOL bDesktopOk);
1205
1206    HRESULT (STDMETHODCALLTYPE *DeleteServiceForApplication)(
1207        ICOMAdminCatalog2 *This,
1208        BSTR bstrApplicationIDOrName);
1209
1210    HRESULT (STDMETHODCALLTYPE *GetPartitionID)(
1211        ICOMAdminCatalog2 *This,
1212        BSTR bstrApplicationIDOrName,
1213        BSTR *pbstrPartitionID);
1214
1215    HRESULT (STDMETHODCALLTYPE *GetPartitionName)(
1216        ICOMAdminCatalog2 *This,
1217        BSTR bstrApplicationIDOrName,
1218        BSTR *pbstrPartitionName);
1219
1220    HRESULT (STDMETHODCALLTYPE *put_CurrentPartition)(
1221        ICOMAdminCatalog2 *This,
1222        BSTR bstrPartitionIDOrName);
1223
1224    HRESULT (STDMETHODCALLTYPE *get_CurrentPartitionID)(
1225        ICOMAdminCatalog2 *This,
1226        BSTR *pbstrPartitionID);
1227
1228    HRESULT (STDMETHODCALLTYPE *get_CurrentPartitionName)(
1229        ICOMAdminCatalog2 *This,
1230        BSTR *pbstrPartitionName);
1231
1232    HRESULT (STDMETHODCALLTYPE *get_GlobalPartitionID)(
1233        ICOMAdminCatalog2 *This,
1234        BSTR *pbstrGlobalPartitionID);
1235
1236    HRESULT (STDMETHODCALLTYPE *FlushPartitionCache)(
1237        ICOMAdminCatalog2 *This);
1238
1239    HRESULT (STDMETHODCALLTYPE *CopyApplications)(
1240        ICOMAdminCatalog2 *This,
1241        BSTR bstrSourcePartitionIDOrName,
1242        VARIANT *pVarApplicationID,
1243        BSTR bstrDestinationPartitionIDOrName);
1244
1245    HRESULT (STDMETHODCALLTYPE *CopyComponents)(
1246        ICOMAdminCatalog2 *This,
1247        BSTR bstrSourceApplicationIDOrName,
1248        VARIANT *pVarCLSIDOrProgID,
1249        BSTR bstrDestinationApplicationIDOrName);
1250
1251    HRESULT (STDMETHODCALLTYPE *MoveComponents)(
1252        ICOMAdminCatalog2 *This,
1253        BSTR bstrSourceApplicationIDOrName,
1254        VARIANT *pVarCLSIDOrProgID,
1255        BSTR bstrDestinationApplicationIDOrName);
1256
1257    HRESULT (STDMETHODCALLTYPE *AliasComponent)(
1258        ICOMAdminCatalog2 *This,
1259        BSTR bstrSrcApplicationIDOrName,
1260        BSTR bstrCLSIDOrProgID,
1261        BSTR bstrDestApplicationIDOrName,
1262        BSTR bstrNewProgId,
1263        BSTR bstrNewClsid);
1264
1265    HRESULT (STDMETHODCALLTYPE *IsSafeToDelete)(
1266        ICOMAdminCatalog2 *This,
1267        BSTR bstrDllName,
1268        COMAdminInUse *pCOMAdminInUse);
1269
1270    HRESULT (STDMETHODCALLTYPE *ImportUnconfiguredComponents)(
1271        ICOMAdminCatalog2 *This,
1272        BSTR bstrApplicationIDOrName,
1273        VARIANT *pVarCLSIDOrProgID,
1274        VARIANT *pVarComponentType);
1275
1276    HRESULT (STDMETHODCALLTYPE *PromoteUnconfiguredComponents)(
1277        ICOMAdminCatalog2 *This,
1278        BSTR bstrApplicationIDOrName,
1279        VARIANT *pVarCLSIDOrProgID,
1280        VARIANT *pVarComponentType);
1281
1282    HRESULT (STDMETHODCALLTYPE *ImportComponents)(
1283        ICOMAdminCatalog2 *This,
1284        BSTR bstrApplicationIDOrName,
1285        VARIANT *pVarCLSIDOrProgID,
1286        VARIANT *pVarComponentType);
1287
1288    HRESULT (STDMETHODCALLTYPE *get_Is64BitCatalogServer)(
1289        ICOMAdminCatalog2 *This,
1290        VARIANT_BOOL *pbIs64Bit);
1291
1292    HRESULT (STDMETHODCALLTYPE *ExportPartition)(
1293        ICOMAdminCatalog2 *This,
1294        BSTR bstrPartitionIDOrName,
1295        BSTR bstrPartitionFileName,
1296        LONG lOptions);
1297
1298    HRESULT (STDMETHODCALLTYPE *InstallPartition)(
1299        ICOMAdminCatalog2 *This,
1300        BSTR bstrFileName,
1301        BSTR bstrDestDirectory,
1302        LONG lOptions,
1303        BSTR bstrUserID,
1304        BSTR bstrPassword,
1305        BSTR bstrRSN);
1306
1307    HRESULT (STDMETHODCALLTYPE *QueryApplicationFile2)(
1308        ICOMAdminCatalog2 *This,
1309        BSTR bstrApplicationFile,
1310        IDispatch **ppFilesForImport);
1311
1312    HRESULT (STDMETHODCALLTYPE *GetComponentVersionCount)(
1313        ICOMAdminCatalog2 *This,
1314        BSTR bstrCLSIDOrProgID,
1315        LONG *plVersionCount);
1316
1317    END_INTERFACE
1318} ICOMAdminCatalog2Vtbl;
1319
1320interface ICOMAdminCatalog2 {
1321    CONST_VTBL ICOMAdminCatalog2Vtbl* lpVtbl;
1322};
1323
1324#ifdef COBJMACROS
1325#ifndef WIDL_C_INLINE_WRAPPERS
1326/*** IUnknown methods ***/
1327#define ICOMAdminCatalog2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1328#define ICOMAdminCatalog2_AddRef(This) (This)->lpVtbl->AddRef(This)
1329#define ICOMAdminCatalog2_Release(This) (This)->lpVtbl->Release(This)
1330/*** IDispatch methods ***/
1331#define ICOMAdminCatalog2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1332#define ICOMAdminCatalog2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1333#define ICOMAdminCatalog2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1334#define ICOMAdminCatalog2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1335/*** ICOMAdminCatalog methods ***/
1336#define ICOMAdminCatalog2_GetCollection(This,bstrCollName,ppCatalogCollection) (This)->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection)
1337#define ICOMAdminCatalog2_Connect(This,bstrCatalogServerName,ppCatalogCollection) (This)->lpVtbl->Connect(This,bstrCatalogServerName,ppCatalogCollection)
1338#define ICOMAdminCatalog2_get_MajorVersion(This,plMajorVersion) (This)->lpVtbl->get_MajorVersion(This,plMajorVersion)
1339#define ICOMAdminCatalog2_get_MinorVersion(This,plMinorVersion) (This)->lpVtbl->get_MinorVersion(This,plMinorVersion)
1340#define ICOMAdminCatalog2_GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection) (This)->lpVtbl->GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection)
1341#define ICOMAdminCatalog2_ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID) (This)->lpVtbl->ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID)
1342#define ICOMAdminCatalog2_InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL) (This)->lpVtbl->InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL)
1343#define ICOMAdminCatalog2_ShutdownApplication(This,bstrApplIDOrName) (This)->lpVtbl->ShutdownApplication(This,bstrApplIDOrName)
1344#define ICOMAdminCatalog2_ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions) (This)->lpVtbl->ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions)
1345#define ICOMAdminCatalog2_InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN) (This)->lpVtbl->InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN)
1346#define ICOMAdminCatalog2_StopRouter(This) (This)->lpVtbl->StopRouter(This)
1347#define ICOMAdminCatalog2_RefreshRouter(This) (This)->lpVtbl->RefreshRouter(This)
1348#define ICOMAdminCatalog2_StartRouter(This) (This)->lpVtbl->StartRouter(This)
1349#define ICOMAdminCatalog2_Reserved1(This) (This)->lpVtbl->Reserved1(This)
1350#define ICOMAdminCatalog2_Reserved2(This) (This)->lpVtbl->Reserved2(This)
1351#define ICOMAdminCatalog2_InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs) (This)->lpVtbl->InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs)
1352#define ICOMAdminCatalog2_GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags) (This)->lpVtbl->GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags)
1353#define ICOMAdminCatalog2_RefreshComponents(This) (This)->lpVtbl->RefreshComponents(This)
1354#define ICOMAdminCatalog2_BackupREGDB(This,bstrBackupFilePath) (This)->lpVtbl->BackupREGDB(This,bstrBackupFilePath)
1355#define ICOMAdminCatalog2_RestoreREGDB(This,bstrBackupFilePath) (This)->lpVtbl->RestoreREGDB(This,bstrBackupFilePath)
1356#define ICOMAdminCatalog2_QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames) (This)->lpVtbl->QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames)
1357#define ICOMAdminCatalog2_StartApplication(This,bstrApplIdOrName) (This)->lpVtbl->StartApplication(This,bstrApplIdOrName)
1358#define ICOMAdminCatalog2_ServiceCheck(This,lService,plStatus) (This)->lpVtbl->ServiceCheck(This,lService,plStatus)
1359#define ICOMAdminCatalog2_InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS) (This)->lpVtbl->InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS)
1360#define ICOMAdminCatalog2_InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL) (This)->lpVtbl->InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL)
1361#define ICOMAdminCatalog2_GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions) (This)->lpVtbl->GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions)
1362/*** ICOMAdminCatalog2 methods ***/
1363#define ICOMAdminCatalog2_GetCollectionByQuery2(This,bstrCollectionName,pVarQueryStrings,ppCatalogCollection) (This)->lpVtbl->GetCollectionByQuery2(This,bstrCollectionName,pVarQueryStrings,ppCatalogCollection)
1364#define ICOMAdminCatalog2_GetApplicationInstanceIDFromProcessID(This,lProcessID,pbstrApplicationInstanceID) (This)->lpVtbl->GetApplicationInstanceIDFromProcessID(This,lProcessID,pbstrApplicationInstanceID)
1365#define ICOMAdminCatalog2_ShutdownApplicationInstances(This,pVarApplicationInstanceID) (This)->lpVtbl->ShutdownApplicationInstances(This,pVarApplicationInstanceID)
1366#define ICOMAdminCatalog2_PauseApplicationInstances(This,pVarApplicationInstanceID) (This)->lpVtbl->PauseApplicationInstances(This,pVarApplicationInstanceID)
1367#define ICOMAdminCatalog2_ResumeApplicationInstances(This,pVarApplicationInstanceID) (This)->lpVtbl->ResumeApplicationInstances(This,pVarApplicationInstanceID)
1368#define ICOMAdminCatalog2_RecycleApplicationInstances(This,pVarApplicationInstanceID,lReasonCode) (This)->lpVtbl->RecycleApplicationInstances(This,pVarApplicationInstanceID,lReasonCode)
1369#define ICOMAdminCatalog2_AreApplicationInstancesPaused(This,pVarApplicationInstanceID,pVarBoolPaused) (This)->lpVtbl->AreApplicationInstancesPaused(This,pVarApplicationInstanceID,pVarBoolPaused)
1370#define ICOMAdminCatalog2_DumpApplicationInstance(This,bstrApplicationInstanceID,bstrDirectory,lMaxImages,pbstrDumpFile) (This)->lpVtbl->DumpApplicationInstance(This,bstrApplicationInstanceID,bstrDirectory,lMaxImages,pbstrDumpFile)
1371#define ICOMAdminCatalog2_get_IsApplicationInstanceDumpSupported(This,pVarBoolDumpSupported) (This)->lpVtbl->get_IsApplicationInstanceDumpSupported(This,pVarBoolDumpSupported)
1372#define ICOMAdminCatalog2_CreateServiceForApplication(This,bstrApplicationIDOrName,bstrServiceName,bstrStartType,bstrErrorControl,bstrDependencies,bstrRunAs,bstrPassword,bDesktopOk) (This)->lpVtbl->CreateServiceForApplication(This,bstrApplicationIDOrName,bstrServiceName,bstrStartType,bstrErrorControl,bstrDependencies,bstrRunAs,bstrPassword,bDesktopOk)
1373#define ICOMAdminCatalog2_DeleteServiceForApplication(This,bstrApplicationIDOrName) (This)->lpVtbl->DeleteServiceForApplication(This,bstrApplicationIDOrName)
1374#define ICOMAdminCatalog2_GetPartitionID(This,bstrApplicationIDOrName,pbstrPartitionID) (This)->lpVtbl->GetPartitionID(This,bstrApplicationIDOrName,pbstrPartitionID)
1375#define ICOMAdminCatalog2_GetPartitionName(This,bstrApplicationIDOrName,pbstrPartitionName) (This)->lpVtbl->GetPartitionName(This,bstrApplicationIDOrName,pbstrPartitionName)
1376#define ICOMAdminCatalog2_put_CurrentPartition(This,bstrPartitionIDOrName) (This)->lpVtbl->put_CurrentPartition(This,bstrPartitionIDOrName)
1377#define ICOMAdminCatalog2_get_CurrentPartitionID(This,pbstrPartitionID) (This)->lpVtbl->get_CurrentPartitionID(This,pbstrPartitionID)
1378#define ICOMAdminCatalog2_get_CurrentPartitionName(This,pbstrPartitionName) (This)->lpVtbl->get_CurrentPartitionName(This,pbstrPartitionName)
1379#define ICOMAdminCatalog2_get_GlobalPartitionID(This,pbstrGlobalPartitionID) (This)->lpVtbl->get_GlobalPartitionID(This,pbstrGlobalPartitionID)
1380#define ICOMAdminCatalog2_FlushPartitionCache(This) (This)->lpVtbl->FlushPartitionCache(This)
1381#define ICOMAdminCatalog2_CopyApplications(This,bstrSourcePartitionIDOrName,pVarApplicationID,bstrDestinationPartitionIDOrName) (This)->lpVtbl->CopyApplications(This,bstrSourcePartitionIDOrName,pVarApplicationID,bstrDestinationPartitionIDOrName)
1382#define ICOMAdminCatalog2_CopyComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName) (This)->lpVtbl->CopyComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName)
1383#define ICOMAdminCatalog2_MoveComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName) (This)->lpVtbl->MoveComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName)
1384#define ICOMAdminCatalog2_AliasComponent(This,bstrSrcApplicationIDOrName,bstrCLSIDOrProgID,bstrDestApplicationIDOrName,bstrNewProgId,bstrNewClsid) (This)->lpVtbl->AliasComponent(This,bstrSrcApplicationIDOrName,bstrCLSIDOrProgID,bstrDestApplicationIDOrName,bstrNewProgId,bstrNewClsid)
1385#define ICOMAdminCatalog2_IsSafeToDelete(This,bstrDllName,pCOMAdminInUse) (This)->lpVtbl->IsSafeToDelete(This,bstrDllName,pCOMAdminInUse)
1386#define ICOMAdminCatalog2_ImportUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType) (This)->lpVtbl->ImportUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType)
1387#define ICOMAdminCatalog2_PromoteUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType) (This)->lpVtbl->PromoteUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType)
1388#define ICOMAdminCatalog2_ImportComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType) (This)->lpVtbl->ImportComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType)
1389#define ICOMAdminCatalog2_get_Is64BitCatalogServer(This,pbIs64Bit) (This)->lpVtbl->get_Is64BitCatalogServer(This,pbIs64Bit)
1390#define ICOMAdminCatalog2_ExportPartition(This,bstrPartitionIDOrName,bstrPartitionFileName,lOptions) (This)->lpVtbl->ExportPartition(This,bstrPartitionIDOrName,bstrPartitionFileName,lOptions)
1391#define ICOMAdminCatalog2_InstallPartition(This,bstrFileName,bstrDestDirectory,lOptions,bstrUserID,bstrPassword,bstrRSN) (This)->lpVtbl->InstallPartition(This,bstrFileName,bstrDestDirectory,lOptions,bstrUserID,bstrPassword,bstrRSN)
1392#define ICOMAdminCatalog2_QueryApplicationFile2(This,bstrApplicationFile,ppFilesForImport) (This)->lpVtbl->QueryApplicationFile2(This,bstrApplicationFile,ppFilesForImport)
1393#define ICOMAdminCatalog2_GetComponentVersionCount(This,bstrCLSIDOrProgID,plVersionCount) (This)->lpVtbl->GetComponentVersionCount(This,bstrCLSIDOrProgID,plVersionCount)
1394#else
1395/*** IUnknown methods ***/
1396static inline HRESULT ICOMAdminCatalog2_QueryInterface(ICOMAdminCatalog2* This,REFIID riid,void **ppvObject) {
1397    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1398}
1399static inline ULONG ICOMAdminCatalog2_AddRef(ICOMAdminCatalog2* This) {
1400    return This->lpVtbl->AddRef(This);
1401}
1402static inline ULONG ICOMAdminCatalog2_Release(ICOMAdminCatalog2* This) {
1403    return This->lpVtbl->Release(This);
1404}
1405/*** IDispatch methods ***/
1406static inline HRESULT ICOMAdminCatalog2_GetTypeInfoCount(ICOMAdminCatalog2* This,UINT *pctinfo) {
1407    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1408}
1409static inline HRESULT ICOMAdminCatalog2_GetTypeInfo(ICOMAdminCatalog2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1410    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1411}
1412static inline HRESULT ICOMAdminCatalog2_GetIDsOfNames(ICOMAdminCatalog2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1413    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1414}
1415static inline HRESULT ICOMAdminCatalog2_Invoke(ICOMAdminCatalog2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1416    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1417}
1418/*** ICOMAdminCatalog methods ***/
1419static inline HRESULT ICOMAdminCatalog2_GetCollection(ICOMAdminCatalog2* This,BSTR bstrCollName,IDispatch **ppCatalogCollection) {
1420    return This->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection);
1421}
1422static inline HRESULT ICOMAdminCatalog2_Connect(ICOMAdminCatalog2* This,BSTR bstrCatalogServerName,IDispatch **ppCatalogCollection) {
1423    return This->lpVtbl->Connect(This,bstrCatalogServerName,ppCatalogCollection);
1424}
1425static inline HRESULT ICOMAdminCatalog2_get_MajorVersion(ICOMAdminCatalog2* This,LONG *plMajorVersion) {
1426    return This->lpVtbl->get_MajorVersion(This,plMajorVersion);
1427}
1428static inline HRESULT ICOMAdminCatalog2_get_MinorVersion(ICOMAdminCatalog2* This,LONG *plMinorVersion) {
1429    return This->lpVtbl->get_MinorVersion(This,plMinorVersion);
1430}
1431static inline HRESULT ICOMAdminCatalog2_GetCollectionByQuery(ICOMAdminCatalog2* This,BSTR bstrCollName,SAFEARRAY **ppsaVarQuery,IDispatch **ppCatalogCollection) {
1432    return This->lpVtbl->GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection);
1433}
1434static inline HRESULT ICOMAdminCatalog2_ImportComponent(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName,BSTR bstrCLSIDOrProgID) {
1435    return This->lpVtbl->ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID);
1436}
1437static inline HRESULT ICOMAdminCatalog2_InstallComponent(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName,BSTR bstrDLL,BSTR bstrTLB,BSTR bstrPSDLL) {
1438    return This->lpVtbl->InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL);
1439}
1440static inline HRESULT ICOMAdminCatalog2_ShutdownApplication(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName) {
1441    return This->lpVtbl->ShutdownApplication(This,bstrApplIDOrName);
1442}
1443static inline HRESULT ICOMAdminCatalog2_ExportApplication(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName,BSTR bstrApplicationFile,LONG lOptions) {
1444    return This->lpVtbl->ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions);
1445}
1446static inline HRESULT ICOMAdminCatalog2_InstallApplication(ICOMAdminCatalog2* This,BSTR bstrApplicationFile,BSTR bstrDestinationDirectory,LONG lOptions,BSTR bstrUserId,BSTR bstrPassword,BSTR bstrRSN) {
1447    return This->lpVtbl->InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN);
1448}
1449static inline HRESULT ICOMAdminCatalog2_StopRouter(ICOMAdminCatalog2* This) {
1450    return This->lpVtbl->StopRouter(This);
1451}
1452static inline HRESULT ICOMAdminCatalog2_RefreshRouter(ICOMAdminCatalog2* This) {
1453    return This->lpVtbl->RefreshRouter(This);
1454}
1455static inline HRESULT ICOMAdminCatalog2_StartRouter(ICOMAdminCatalog2* This) {
1456    return This->lpVtbl->StartRouter(This);
1457}
1458static inline HRESULT ICOMAdminCatalog2_Reserved1(ICOMAdminCatalog2* This) {
1459    return This->lpVtbl->Reserved1(This);
1460}
1461static inline HRESULT ICOMAdminCatalog2_Reserved2(ICOMAdminCatalog2* This) {
1462    return This->lpVtbl->Reserved2(This);
1463}
1464static inline HRESULT ICOMAdminCatalog2_InstallMultipleComponents(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDs) {
1465    return This->lpVtbl->InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs);
1466}
1467static inline HRESULT ICOMAdminCatalog2_GetMultipleComponentsInfo(ICOMAdminCatalog2* This,BSTR bstrApplIdOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDs,SAFEARRAY **ppsaVarClassNames,SAFEARRAY **ppsaVarFileFlags,SAFEARRAY **ppsaVarComponentFlags) {
1468    return This->lpVtbl->GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags);
1469}
1470static inline HRESULT ICOMAdminCatalog2_RefreshComponents(ICOMAdminCatalog2* This) {
1471    return This->lpVtbl->RefreshComponents(This);
1472}
1473static inline HRESULT ICOMAdminCatalog2_BackupREGDB(ICOMAdminCatalog2* This,BSTR bstrBackupFilePath) {
1474    return This->lpVtbl->BackupREGDB(This,bstrBackupFilePath);
1475}
1476static inline HRESULT ICOMAdminCatalog2_RestoreREGDB(ICOMAdminCatalog2* This,BSTR bstrBackupFilePath) {
1477    return This->lpVtbl->RestoreREGDB(This,bstrBackupFilePath);
1478}
1479static inline HRESULT ICOMAdminCatalog2_QueryApplicationFile(ICOMAdminCatalog2* This,BSTR bstrApplicationFile,BSTR *pbstrApplicationName,BSTR *pbstrApplicationDescription,VARIANT_BOOL *pbHasUsers,VARIANT_BOOL *pbIsProxy,SAFEARRAY **ppsaVarFileNames) {
1480    return This->lpVtbl->QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames);
1481}
1482static inline HRESULT ICOMAdminCatalog2_StartApplication(ICOMAdminCatalog2* This,BSTR bstrApplIdOrName) {
1483    return This->lpVtbl->StartApplication(This,bstrApplIdOrName);
1484}
1485static inline HRESULT ICOMAdminCatalog2_ServiceCheck(ICOMAdminCatalog2* This,LONG lService,LONG *plStatus) {
1486    return This->lpVtbl->ServiceCheck(This,lService,plStatus);
1487}
1488static inline HRESULT ICOMAdminCatalog2_InstallMultipleEventClasses(ICOMAdminCatalog2* This,BSTR bstrApplIdOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDS) {
1489    return This->lpVtbl->InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS);
1490}
1491static inline HRESULT ICOMAdminCatalog2_InstallEventClass(ICOMAdminCatalog2* This,BSTR bstrApplIdOrName,BSTR bstrDLL,BSTR bstrTLB,BSTR bstrPSDLL) {
1492    return This->lpVtbl->InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL);
1493}
1494static inline HRESULT ICOMAdminCatalog2_GetEventClassesForIID(ICOMAdminCatalog2* This,BSTR bstrIID,SAFEARRAY **ppsaVarCLSIDs,SAFEARRAY **ppsaVarProgIDs,SAFEARRAY **ppsaVarDescriptions) {
1495    return This->lpVtbl->GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions);
1496}
1497/*** ICOMAdminCatalog2 methods ***/
1498static inline HRESULT ICOMAdminCatalog2_GetCollectionByQuery2(ICOMAdminCatalog2* This,BSTR bstrCollectionName,VARIANT *pVarQueryStrings,IDispatch **ppCatalogCollection) {
1499    return This->lpVtbl->GetCollectionByQuery2(This,bstrCollectionName,pVarQueryStrings,ppCatalogCollection);
1500}
1501static inline HRESULT ICOMAdminCatalog2_GetApplicationInstanceIDFromProcessID(ICOMAdminCatalog2* This,LONG lProcessID,BSTR *pbstrApplicationInstanceID) {
1502    return This->lpVtbl->GetApplicationInstanceIDFromProcessID(This,lProcessID,pbstrApplicationInstanceID);
1503}
1504static inline HRESULT ICOMAdminCatalog2_ShutdownApplicationInstances(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID) {
1505    return This->lpVtbl->ShutdownApplicationInstances(This,pVarApplicationInstanceID);
1506}
1507static inline HRESULT ICOMAdminCatalog2_PauseApplicationInstances(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID) {
1508    return This->lpVtbl->PauseApplicationInstances(This,pVarApplicationInstanceID);
1509}
1510static inline HRESULT ICOMAdminCatalog2_ResumeApplicationInstances(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID) {
1511    return This->lpVtbl->ResumeApplicationInstances(This,pVarApplicationInstanceID);
1512}
1513static inline HRESULT ICOMAdminCatalog2_RecycleApplicationInstances(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID,LONG lReasonCode) {
1514    return This->lpVtbl->RecycleApplicationInstances(This,pVarApplicationInstanceID,lReasonCode);
1515}
1516static inline HRESULT ICOMAdminCatalog2_AreApplicationInstancesPaused(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID,VARIANT_BOOL *pVarBoolPaused) {
1517    return This->lpVtbl->AreApplicationInstancesPaused(This,pVarApplicationInstanceID,pVarBoolPaused);
1518}
1519static inline HRESULT ICOMAdminCatalog2_DumpApplicationInstance(ICOMAdminCatalog2* This,BSTR bstrApplicationInstanceID,BSTR bstrDirectory,LONG lMaxImages,BSTR *pbstrDumpFile) {
1520    return This->lpVtbl->DumpApplicationInstance(This,bstrApplicationInstanceID,bstrDirectory,lMaxImages,pbstrDumpFile);
1521}
1522static inline HRESULT ICOMAdminCatalog2_get_IsApplicationInstanceDumpSupported(ICOMAdminCatalog2* This,VARIANT_BOOL *pVarBoolDumpSupported) {
1523    return This->lpVtbl->get_IsApplicationInstanceDumpSupported(This,pVarBoolDumpSupported);
1524}
1525static inline HRESULT ICOMAdminCatalog2_CreateServiceForApplication(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,BSTR bstrServiceName,BSTR bstrStartType,BSTR bstrErrorControl,BSTR bstrDependencies,BSTR bstrRunAs,BSTR bstrPassword,VARIANT_BOOL bDesktopOk) {
1526    return This->lpVtbl->CreateServiceForApplication(This,bstrApplicationIDOrName,bstrServiceName,bstrStartType,bstrErrorControl,bstrDependencies,bstrRunAs,bstrPassword,bDesktopOk);
1527}
1528static inline HRESULT ICOMAdminCatalog2_DeleteServiceForApplication(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName) {
1529    return This->lpVtbl->DeleteServiceForApplication(This,bstrApplicationIDOrName);
1530}
1531static inline HRESULT ICOMAdminCatalog2_GetPartitionID(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,BSTR *pbstrPartitionID) {
1532    return This->lpVtbl->GetPartitionID(This,bstrApplicationIDOrName,pbstrPartitionID);
1533}
1534static inline HRESULT ICOMAdminCatalog2_GetPartitionName(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,BSTR *pbstrPartitionName) {
1535    return This->lpVtbl->GetPartitionName(This,bstrApplicationIDOrName,pbstrPartitionName);
1536}
1537static inline HRESULT ICOMAdminCatalog2_put_CurrentPartition(ICOMAdminCatalog2* This,BSTR bstrPartitionIDOrName) {
1538    return This->lpVtbl->put_CurrentPartition(This,bstrPartitionIDOrName);
1539}
1540static inline HRESULT ICOMAdminCatalog2_get_CurrentPartitionID(ICOMAdminCatalog2* This,BSTR *pbstrPartitionID) {
1541    return This->lpVtbl->get_CurrentPartitionID(This,pbstrPartitionID);
1542}
1543static inline HRESULT ICOMAdminCatalog2_get_CurrentPartitionName(ICOMAdminCatalog2* This,BSTR *pbstrPartitionName) {
1544    return This->lpVtbl->get_CurrentPartitionName(This,pbstrPartitionName);
1545}
1546static inline HRESULT ICOMAdminCatalog2_get_GlobalPartitionID(ICOMAdminCatalog2* This,BSTR *pbstrGlobalPartitionID) {
1547    return This->lpVtbl->get_GlobalPartitionID(This,pbstrGlobalPartitionID);
1548}
1549static inline HRESULT ICOMAdminCatalog2_FlushPartitionCache(ICOMAdminCatalog2* This) {
1550    return This->lpVtbl->FlushPartitionCache(This);
1551}
1552static inline HRESULT ICOMAdminCatalog2_CopyApplications(ICOMAdminCatalog2* This,BSTR bstrSourcePartitionIDOrName,VARIANT *pVarApplicationID,BSTR bstrDestinationPartitionIDOrName) {
1553    return This->lpVtbl->CopyApplications(This,bstrSourcePartitionIDOrName,pVarApplicationID,bstrDestinationPartitionIDOrName);
1554}
1555static inline HRESULT ICOMAdminCatalog2_CopyComponents(ICOMAdminCatalog2* This,BSTR bstrSourceApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,BSTR bstrDestinationApplicationIDOrName) {
1556    return This->lpVtbl->CopyComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName);
1557}
1558static inline HRESULT ICOMAdminCatalog2_MoveComponents(ICOMAdminCatalog2* This,BSTR bstrSourceApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,BSTR bstrDestinationApplicationIDOrName) {
1559    return This->lpVtbl->MoveComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName);
1560}
1561static inline HRESULT ICOMAdminCatalog2_AliasComponent(ICOMAdminCatalog2* This,BSTR bstrSrcApplicationIDOrName,BSTR bstrCLSIDOrProgID,BSTR bstrDestApplicationIDOrName,BSTR bstrNewProgId,BSTR bstrNewClsid) {
1562    return This->lpVtbl->AliasComponent(This,bstrSrcApplicationIDOrName,bstrCLSIDOrProgID,bstrDestApplicationIDOrName,bstrNewProgId,bstrNewClsid);
1563}
1564static inline HRESULT ICOMAdminCatalog2_IsSafeToDelete(ICOMAdminCatalog2* This,BSTR bstrDllName,COMAdminInUse *pCOMAdminInUse) {
1565    return This->lpVtbl->IsSafeToDelete(This,bstrDllName,pCOMAdminInUse);
1566}
1567static inline HRESULT ICOMAdminCatalog2_ImportUnconfiguredComponents(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,VARIANT *pVarComponentType) {
1568    return This->lpVtbl->ImportUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType);
1569}
1570static inline HRESULT ICOMAdminCatalog2_PromoteUnconfiguredComponents(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,VARIANT *pVarComponentType) {
1571    return This->lpVtbl->PromoteUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType);
1572}
1573static inline HRESULT ICOMAdminCatalog2_ImportComponents(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,VARIANT *pVarComponentType) {
1574    return This->lpVtbl->ImportComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType);
1575}
1576static inline HRESULT ICOMAdminCatalog2_get_Is64BitCatalogServer(ICOMAdminCatalog2* This,VARIANT_BOOL *pbIs64Bit) {
1577    return This->lpVtbl->get_Is64BitCatalogServer(This,pbIs64Bit);
1578}
1579static inline HRESULT ICOMAdminCatalog2_ExportPartition(ICOMAdminCatalog2* This,BSTR bstrPartitionIDOrName,BSTR bstrPartitionFileName,LONG lOptions) {
1580    return This->lpVtbl->ExportPartition(This,bstrPartitionIDOrName,bstrPartitionFileName,lOptions);
1581}
1582static inline HRESULT ICOMAdminCatalog2_InstallPartition(ICOMAdminCatalog2* This,BSTR bstrFileName,BSTR bstrDestDirectory,LONG lOptions,BSTR bstrUserID,BSTR bstrPassword,BSTR bstrRSN) {
1583    return This->lpVtbl->InstallPartition(This,bstrFileName,bstrDestDirectory,lOptions,bstrUserID,bstrPassword,bstrRSN);
1584}
1585static inline HRESULT ICOMAdminCatalog2_QueryApplicationFile2(ICOMAdminCatalog2* This,BSTR bstrApplicationFile,IDispatch **ppFilesForImport) {
1586    return This->lpVtbl->QueryApplicationFile2(This,bstrApplicationFile,ppFilesForImport);
1587}
1588static inline HRESULT ICOMAdminCatalog2_GetComponentVersionCount(ICOMAdminCatalog2* This,BSTR bstrCLSIDOrProgID,LONG *plVersionCount) {
1589    return This->lpVtbl->GetComponentVersionCount(This,bstrCLSIDOrProgID,plVersionCount);
1590}
1591#endif
1592#endif
1593
1594#endif
1595
1596
1597#endif  /* __ICOMAdminCatalog2_INTERFACE_DEFINED__ */
1598
1599/*****************************************************************************
1600 * ICatalogObject interface
1601 */
1602#ifndef __ICatalogObject_INTERFACE_DEFINED__
1603#define __ICatalogObject_INTERFACE_DEFINED__
1604
1605DEFINE_GUID(IID_ICatalogObject, 0x6eb22871, 0x8a19, 0x11d0, 0x81,0xb6, 0x00,0xa0,0xc9,0x23,0x1c,0x29);
1606#if defined(__cplusplus) && !defined(CINTERFACE)
1607MIDL_INTERFACE("6eb22871-8a19-11d0-81b6-00a0c9231c29")
1608ICatalogObject : public IDispatch
1609{
1610    virtual HRESULT STDMETHODCALLTYPE get_Value(
1611        BSTR bstrPropName,
1612        VARIANT *pvarRetVal) = 0;
1613
1614    virtual HRESULT STDMETHODCALLTYPE put_Value(
1615        BSTR bstrPropName,
1616        VARIANT val) = 0;
1617
1618    virtual HRESULT STDMETHODCALLTYPE get_Key(
1619        VARIANT *pvarRetVal) = 0;
1620
1621    virtual HRESULT STDMETHODCALLTYPE get_Name(
1622        VARIANT *pvarRetVal) = 0;
1623
1624    virtual HRESULT STDMETHODCALLTYPE IsPropertyReadOnly(
1625        BSTR bstrPropName,
1626        VARIANT_BOOL *pbRetVal) = 0;
1627
1628    virtual HRESULT STDMETHODCALLTYPE get_Valid(
1629        VARIANT_BOOL *pbRetVal) = 0;
1630
1631    virtual HRESULT STDMETHODCALLTYPE IsPropertyWriteOnly(
1632        BSTR bstrPropName,
1633        VARIANT_BOOL *pbRetVal) = 0;
1634
1635};
1636#ifdef __CRT_UUID_DECL
1637__CRT_UUID_DECL(ICatalogObject, 0x6eb22871, 0x8a19, 0x11d0, 0x81,0xb6, 0x00,0xa0,0xc9,0x23,0x1c,0x29)
1638#endif
1639#else
1640typedef struct ICatalogObjectVtbl {
1641    BEGIN_INTERFACE
1642
1643    /*** IUnknown methods ***/
1644    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1645        ICatalogObject *This,
1646        REFIID riid,
1647        void **ppvObject);
1648
1649    ULONG (STDMETHODCALLTYPE *AddRef)(
1650        ICatalogObject *This);
1651
1652    ULONG (STDMETHODCALLTYPE *Release)(
1653        ICatalogObject *This);
1654
1655    /*** IDispatch methods ***/
1656    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1657        ICatalogObject *This,
1658        UINT *pctinfo);
1659
1660    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1661        ICatalogObject *This,
1662        UINT iTInfo,
1663        LCID lcid,
1664        ITypeInfo **ppTInfo);
1665
1666    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1667        ICatalogObject *This,
1668        REFIID riid,
1669        LPOLESTR *rgszNames,
1670        UINT cNames,
1671        LCID lcid,
1672        DISPID *rgDispId);
1673
1674    HRESULT (STDMETHODCALLTYPE *Invoke)(
1675        ICatalogObject *This,
1676        DISPID dispIdMember,
1677        REFIID riid,
1678        LCID lcid,
1679        WORD wFlags,
1680        DISPPARAMS *pDispParams,
1681        VARIANT *pVarResult,
1682        EXCEPINFO *pExcepInfo,
1683        UINT *puArgErr);
1684
1685    /*** ICatalogObject methods ***/
1686    HRESULT (STDMETHODCALLTYPE *get_Value)(
1687        ICatalogObject *This,
1688        BSTR bstrPropName,
1689        VARIANT *pvarRetVal);
1690
1691    HRESULT (STDMETHODCALLTYPE *put_Value)(
1692        ICatalogObject *This,
1693        BSTR bstrPropName,
1694        VARIANT val);
1695
1696    HRESULT (STDMETHODCALLTYPE *get_Key)(
1697        ICatalogObject *This,
1698        VARIANT *pvarRetVal);
1699
1700    HRESULT (STDMETHODCALLTYPE *get_Name)(
1701        ICatalogObject *This,
1702        VARIANT *pvarRetVal);
1703
1704    HRESULT (STDMETHODCALLTYPE *IsPropertyReadOnly)(
1705        ICatalogObject *This,
1706        BSTR bstrPropName,
1707        VARIANT_BOOL *pbRetVal);
1708
1709    HRESULT (STDMETHODCALLTYPE *get_Valid)(
1710        ICatalogObject *This,
1711        VARIANT_BOOL *pbRetVal);
1712
1713    HRESULT (STDMETHODCALLTYPE *IsPropertyWriteOnly)(
1714        ICatalogObject *This,
1715        BSTR bstrPropName,
1716        VARIANT_BOOL *pbRetVal);
1717
1718    END_INTERFACE
1719} ICatalogObjectVtbl;
1720
1721interface ICatalogObject {
1722    CONST_VTBL ICatalogObjectVtbl* lpVtbl;
1723};
1724
1725#ifdef COBJMACROS
1726#ifndef WIDL_C_INLINE_WRAPPERS
1727/*** IUnknown methods ***/
1728#define ICatalogObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1729#define ICatalogObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1730#define ICatalogObject_Release(This) (This)->lpVtbl->Release(This)
1731/*** IDispatch methods ***/
1732#define ICatalogObject_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1733#define ICatalogObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1734#define ICatalogObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1735#define ICatalogObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1736/*** ICatalogObject methods ***/
1737#define ICatalogObject_get_Value(This,bstrPropName,pvarRetVal) (This)->lpVtbl->get_Value(This,bstrPropName,pvarRetVal)
1738#define ICatalogObject_put_Value(This,bstrPropName,val) (This)->lpVtbl->put_Value(This,bstrPropName,val)
1739#define ICatalogObject_get_Key(This,pvarRetVal) (This)->lpVtbl->get_Key(This,pvarRetVal)
1740#define ICatalogObject_get_Name(This,pvarRetVal) (This)->lpVtbl->get_Name(This,pvarRetVal)
1741#define ICatalogObject_IsPropertyReadOnly(This,bstrPropName,pbRetVal) (This)->lpVtbl->IsPropertyReadOnly(This,bstrPropName,pbRetVal)
1742#define ICatalogObject_get_Valid(This,pbRetVal) (This)->lpVtbl->get_Valid(This,pbRetVal)
1743#define ICatalogObject_IsPropertyWriteOnly(This,bstrPropName,pbRetVal) (This)->lpVtbl->IsPropertyWriteOnly(This,bstrPropName,pbRetVal)
1744#else
1745/*** IUnknown methods ***/
1746static inline HRESULT ICatalogObject_QueryInterface(ICatalogObject* This,REFIID riid,void **ppvObject) {
1747    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1748}
1749static inline ULONG ICatalogObject_AddRef(ICatalogObject* This) {
1750    return This->lpVtbl->AddRef(This);
1751}
1752static inline ULONG ICatalogObject_Release(ICatalogObject* This) {
1753    return This->lpVtbl->Release(This);
1754}
1755/*** IDispatch methods ***/
1756static inline HRESULT ICatalogObject_GetTypeInfoCount(ICatalogObject* This,UINT *pctinfo) {
1757    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1758}
1759static inline HRESULT ICatalogObject_GetTypeInfo(ICatalogObject* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1760    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1761}
1762static inline HRESULT ICatalogObject_GetIDsOfNames(ICatalogObject* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1763    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1764}
1765static inline HRESULT ICatalogObject_Invoke(ICatalogObject* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1766    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1767}
1768/*** ICatalogObject methods ***/
1769static inline HRESULT ICatalogObject_get_Value(ICatalogObject* This,BSTR bstrPropName,VARIANT *pvarRetVal) {
1770    return This->lpVtbl->get_Value(This,bstrPropName,pvarRetVal);
1771}
1772static inline HRESULT ICatalogObject_put_Value(ICatalogObject* This,BSTR bstrPropName,VARIANT val) {
1773    return This->lpVtbl->put_Value(This,bstrPropName,val);
1774}
1775static inline HRESULT ICatalogObject_get_Key(ICatalogObject* This,VARIANT *pvarRetVal) {
1776    return This->lpVtbl->get_Key(This,pvarRetVal);
1777}
1778static inline HRESULT ICatalogObject_get_Name(ICatalogObject* This,VARIANT *pvarRetVal) {
1779    return This->lpVtbl->get_Name(This,pvarRetVal);
1780}
1781static inline HRESULT ICatalogObject_IsPropertyReadOnly(ICatalogObject* This,BSTR bstrPropName,VARIANT_BOOL *pbRetVal) {
1782    return This->lpVtbl->IsPropertyReadOnly(This,bstrPropName,pbRetVal);
1783}
1784static inline HRESULT ICatalogObject_get_Valid(ICatalogObject* This,VARIANT_BOOL *pbRetVal) {
1785    return This->lpVtbl->get_Valid(This,pbRetVal);
1786}
1787static inline HRESULT ICatalogObject_IsPropertyWriteOnly(ICatalogObject* This,BSTR bstrPropName,VARIANT_BOOL *pbRetVal) {
1788    return This->lpVtbl->IsPropertyWriteOnly(This,bstrPropName,pbRetVal);
1789}
1790#endif
1791#endif
1792
1793#endif
1794
1795
1796#endif  /* __ICatalogObject_INTERFACE_DEFINED__ */
1797
1798/*****************************************************************************
1799 * ICatalogCollection interface
1800 */
1801#ifndef __ICatalogCollection_INTERFACE_DEFINED__
1802#define __ICatalogCollection_INTERFACE_DEFINED__
1803
1804DEFINE_GUID(IID_ICatalogCollection, 0x6eb22872, 0x8a19, 0x11d0, 0x81,0xb6, 0x00,0xa0,0xc9,0x23,0x1c,0x29);
1805#if defined(__cplusplus) && !defined(CINTERFACE)
1806MIDL_INTERFACE("6eb22872-8a19-11d0-81b6-00a0c9231c29")
1807ICatalogCollection : public IDispatch
1808{
1809    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
1810        IUnknown **ppEnumVariant) = 0;
1811
1812    virtual HRESULT STDMETHODCALLTYPE get_Item(
1813        LONG lIndex,
1814        IDispatch **ppCatalogObject) = 0;
1815
1816    virtual HRESULT STDMETHODCALLTYPE get_Count(
1817        LONG *plObjectCount) = 0;
1818
1819    virtual HRESULT STDMETHODCALLTYPE Remove(
1820        LONG lIndex) = 0;
1821
1822    virtual HRESULT STDMETHODCALLTYPE Add(
1823        IDispatch **ppCatalogObject) = 0;
1824
1825    virtual HRESULT STDMETHODCALLTYPE Populate(
1826        ) = 0;
1827
1828    virtual HRESULT STDMETHODCALLTYPE SaveChanges(
1829        LONG *pcChanges) = 0;
1830
1831    virtual HRESULT STDMETHODCALLTYPE GetCollection(
1832        BSTR bstrCollName,
1833        VARIANT varObjectKey,
1834        IDispatch **ppCatalogCollection) = 0;
1835
1836    virtual HRESULT STDMETHODCALLTYPE get_Name(
1837        VARIANT *pVarNamel) = 0;
1838
1839    virtual HRESULT STDMETHODCALLTYPE get_AddEnabled(
1840        VARIANT_BOOL *pVarBool) = 0;
1841
1842    virtual HRESULT STDMETHODCALLTYPE get_RemoveEnabled(
1843        VARIANT_BOOL *pVarBool) = 0;
1844
1845    virtual HRESULT STDMETHODCALLTYPE GetUtilInterface(
1846        IDispatch **ppIDispatch) = 0;
1847
1848    virtual HRESULT STDMETHODCALLTYPE get_DataStoreMajorVersion(
1849        LONG *plMajorVersion) = 0;
1850
1851    virtual HRESULT STDMETHODCALLTYPE get_DataStoreMinorVersion(
1852        LONG *plMinorVersionl) = 0;
1853
1854    virtual HRESULT STDMETHODCALLTYPE PopulateByKey(
1855        SAFEARRAY *psaKeys) = 0;
1856
1857    virtual HRESULT STDMETHODCALLTYPE PopulateByQuery(
1858        BSTR bstrQueryString,
1859        LONG lQueryType) = 0;
1860
1861};
1862#ifdef __CRT_UUID_DECL
1863__CRT_UUID_DECL(ICatalogCollection, 0x6eb22872, 0x8a19, 0x11d0, 0x81,0xb6, 0x00,0xa0,0xc9,0x23,0x1c,0x29)
1864#endif
1865#else
1866typedef struct ICatalogCollectionVtbl {
1867    BEGIN_INTERFACE
1868
1869    /*** IUnknown methods ***/
1870    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1871        ICatalogCollection *This,
1872        REFIID riid,
1873        void **ppvObject);
1874
1875    ULONG (STDMETHODCALLTYPE *AddRef)(
1876        ICatalogCollection *This);
1877
1878    ULONG (STDMETHODCALLTYPE *Release)(
1879        ICatalogCollection *This);
1880
1881    /*** IDispatch methods ***/
1882    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1883        ICatalogCollection *This,
1884        UINT *pctinfo);
1885
1886    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1887        ICatalogCollection *This,
1888        UINT iTInfo,
1889        LCID lcid,
1890        ITypeInfo **ppTInfo);
1891
1892    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1893        ICatalogCollection *This,
1894        REFIID riid,
1895        LPOLESTR *rgszNames,
1896        UINT cNames,
1897        LCID lcid,
1898        DISPID *rgDispId);
1899
1900    HRESULT (STDMETHODCALLTYPE *Invoke)(
1901        ICatalogCollection *This,
1902        DISPID dispIdMember,
1903        REFIID riid,
1904        LCID lcid,
1905        WORD wFlags,
1906        DISPPARAMS *pDispParams,
1907        VARIANT *pVarResult,
1908        EXCEPINFO *pExcepInfo,
1909        UINT *puArgErr);
1910
1911    /*** ICatalogCollection methods ***/
1912    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
1913        ICatalogCollection *This,
1914        IUnknown **ppEnumVariant);
1915
1916    HRESULT (STDMETHODCALLTYPE *get_Item)(
1917        ICatalogCollection *This,
1918        LONG lIndex,
1919        IDispatch **ppCatalogObject);
1920
1921    HRESULT (STDMETHODCALLTYPE *get_Count)(
1922        ICatalogCollection *This,
1923        LONG *plObjectCount);
1924
1925    HRESULT (STDMETHODCALLTYPE *Remove)(
1926        ICatalogCollection *This,
1927        LONG lIndex);
1928
1929    HRESULT (STDMETHODCALLTYPE *Add)(
1930        ICatalogCollection *This,
1931        IDispatch **ppCatalogObject);
1932
1933    HRESULT (STDMETHODCALLTYPE *Populate)(
1934        ICatalogCollection *This);
1935
1936    HRESULT (STDMETHODCALLTYPE *SaveChanges)(
1937        ICatalogCollection *This,
1938        LONG *pcChanges);
1939
1940    HRESULT (STDMETHODCALLTYPE *GetCollection)(
1941        ICatalogCollection *This,
1942        BSTR bstrCollName,
1943        VARIANT varObjectKey,
1944        IDispatch **ppCatalogCollection);
1945
1946    HRESULT (STDMETHODCALLTYPE *get_Name)(
1947        ICatalogCollection *This,
1948        VARIANT *pVarNamel);
1949
1950    HRESULT (STDMETHODCALLTYPE *get_AddEnabled)(
1951        ICatalogCollection *This,
1952        VARIANT_BOOL *pVarBool);
1953
1954    HRESULT (STDMETHODCALLTYPE *get_RemoveEnabled)(
1955        ICatalogCollection *This,
1956        VARIANT_BOOL *pVarBool);
1957
1958    HRESULT (STDMETHODCALLTYPE *GetUtilInterface)(
1959        ICatalogCollection *This,
1960        IDispatch **ppIDispatch);
1961
1962    HRESULT (STDMETHODCALLTYPE *get_DataStoreMajorVersion)(
1963        ICatalogCollection *This,
1964        LONG *plMajorVersion);
1965
1966    HRESULT (STDMETHODCALLTYPE *get_DataStoreMinorVersion)(
1967        ICatalogCollection *This,
1968        LONG *plMinorVersionl);
1969
1970    HRESULT (STDMETHODCALLTYPE *PopulateByKey)(
1971        ICatalogCollection *This,
1972        SAFEARRAY *psaKeys);
1973
1974    HRESULT (STDMETHODCALLTYPE *PopulateByQuery)(
1975        ICatalogCollection *This,
1976        BSTR bstrQueryString,
1977        LONG lQueryType);
1978
1979    END_INTERFACE
1980} ICatalogCollectionVtbl;
1981
1982interface ICatalogCollection {
1983    CONST_VTBL ICatalogCollectionVtbl* lpVtbl;
1984};
1985
1986#ifdef COBJMACROS
1987#ifndef WIDL_C_INLINE_WRAPPERS
1988/*** IUnknown methods ***/
1989#define ICatalogCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1990#define ICatalogCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
1991#define ICatalogCollection_Release(This) (This)->lpVtbl->Release(This)
1992/*** IDispatch methods ***/
1993#define ICatalogCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1994#define ICatalogCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1995#define ICatalogCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1996#define ICatalogCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1997/*** ICatalogCollection methods ***/
1998#define ICatalogCollection_get__NewEnum(This,ppEnumVariant) (This)->lpVtbl->get__NewEnum(This,ppEnumVariant)
1999#define ICatalogCollection_get_Item(This,lIndex,ppCatalogObject) (This)->lpVtbl->get_Item(This,lIndex,ppCatalogObject)
2000#define ICatalogCollection_get_Count(This,plObjectCount) (This)->lpVtbl->get_Count(This,plObjectCount)
2001#define ICatalogCollection_Remove(This,lIndex) (This)->lpVtbl->Remove(This,lIndex)
2002#define ICatalogCollection_Add(This,ppCatalogObject) (This)->lpVtbl->Add(This,ppCatalogObject)
2003#define ICatalogCollection_Populate(This) (This)->lpVtbl->Populate(This)
2004#define ICatalogCollection_SaveChanges(This,pcChanges) (This)->lpVtbl->SaveChanges(This,pcChanges)
2005#define ICatalogCollection_GetCollection(This,bstrCollName,varObjectKey,ppCatalogCollection) (This)->lpVtbl->GetCollection(This,bstrCollName,varObjectKey,ppCatalogCollection)
2006#define ICatalogCollection_get_Name(This,pVarNamel) (This)->lpVtbl->get_Name(This,pVarNamel)
2007#define ICatalogCollection_get_AddEnabled(This,pVarBool) (This)->lpVtbl->get_AddEnabled(This,pVarBool)
2008#define ICatalogCollection_get_RemoveEnabled(This,pVarBool) (This)->lpVtbl->get_RemoveEnabled(This,pVarBool)
2009#define ICatalogCollection_GetUtilInterface(This,ppIDispatch) (This)->lpVtbl->GetUtilInterface(This,ppIDispatch)
2010#define ICatalogCollection_get_DataStoreMajorVersion(This,plMajorVersion) (This)->lpVtbl->get_DataStoreMajorVersion(This,plMajorVersion)
2011#define ICatalogCollection_get_DataStoreMinorVersion(This,plMinorVersionl) (This)->lpVtbl->get_DataStoreMinorVersion(This,plMinorVersionl)
2012#define ICatalogCollection_PopulateByKey(This,psaKeys) (This)->lpVtbl->PopulateByKey(This,psaKeys)
2013#define ICatalogCollection_PopulateByQuery(This,bstrQueryString,lQueryType) (This)->lpVtbl->PopulateByQuery(This,bstrQueryString,lQueryType)
2014#else
2015/*** IUnknown methods ***/
2016static inline HRESULT ICatalogCollection_QueryInterface(ICatalogCollection* This,REFIID riid,void **ppvObject) {
2017    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2018}
2019static inline ULONG ICatalogCollection_AddRef(ICatalogCollection* This) {
2020    return This->lpVtbl->AddRef(This);
2021}
2022static inline ULONG ICatalogCollection_Release(ICatalogCollection* This) {
2023    return This->lpVtbl->Release(This);
2024}
2025/*** IDispatch methods ***/
2026static inline HRESULT ICatalogCollection_GetTypeInfoCount(ICatalogCollection* This,UINT *pctinfo) {
2027    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2028}
2029static inline HRESULT ICatalogCollection_GetTypeInfo(ICatalogCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2030    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2031}
2032static inline HRESULT ICatalogCollection_GetIDsOfNames(ICatalogCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2033    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2034}
2035static inline HRESULT ICatalogCollection_Invoke(ICatalogCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2036    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2037}
2038/*** ICatalogCollection methods ***/
2039static inline HRESULT ICatalogCollection_get__NewEnum(ICatalogCollection* This,IUnknown **ppEnumVariant) {
2040    return This->lpVtbl->get__NewEnum(This,ppEnumVariant);
2041}
2042static inline HRESULT ICatalogCollection_get_Item(ICatalogCollection* This,LONG lIndex,IDispatch **ppCatalogObject) {
2043    return This->lpVtbl->get_Item(This,lIndex,ppCatalogObject);
2044}
2045static inline HRESULT ICatalogCollection_get_Count(ICatalogCollection* This,LONG *plObjectCount) {
2046    return This->lpVtbl->get_Count(This,plObjectCount);
2047}
2048static inline HRESULT ICatalogCollection_Remove(ICatalogCollection* This,LONG lIndex) {
2049    return This->lpVtbl->Remove(This,lIndex);
2050}
2051static inline HRESULT ICatalogCollection_Add(ICatalogCollection* This,IDispatch **ppCatalogObject) {
2052    return This->lpVtbl->Add(This,ppCatalogObject);
2053}
2054static inline HRESULT ICatalogCollection_Populate(ICatalogCollection* This) {
2055    return This->lpVtbl->Populate(This);
2056}
2057static inline HRESULT ICatalogCollection_SaveChanges(ICatalogCollection* This,LONG *pcChanges) {
2058    return This->lpVtbl->SaveChanges(This,pcChanges);
2059}
2060static inline HRESULT ICatalogCollection_GetCollection(ICatalogCollection* This,BSTR bstrCollName,VARIANT varObjectKey,IDispatch **ppCatalogCollection) {
2061    return This->lpVtbl->GetCollection(This,bstrCollName,varObjectKey,ppCatalogCollection);
2062}
2063static inline HRESULT ICatalogCollection_get_Name(ICatalogCollection* This,VARIANT *pVarNamel) {
2064    return This->lpVtbl->get_Name(This,pVarNamel);
2065}
2066static inline HRESULT ICatalogCollection_get_AddEnabled(ICatalogCollection* This,VARIANT_BOOL *pVarBool) {
2067    return This->lpVtbl->get_AddEnabled(This,pVarBool);
2068}
2069static inline HRESULT ICatalogCollection_get_RemoveEnabled(ICatalogCollection* This,VARIANT_BOOL *pVarBool) {
2070    return This->lpVtbl->get_RemoveEnabled(This,pVarBool);
2071}
2072static inline HRESULT ICatalogCollection_GetUtilInterface(ICatalogCollection* This,IDispatch **ppIDispatch) {
2073    return This->lpVtbl->GetUtilInterface(This,ppIDispatch);
2074}
2075static inline HRESULT ICatalogCollection_get_DataStoreMajorVersion(ICatalogCollection* This,LONG *plMajorVersion) {
2076    return This->lpVtbl->get_DataStoreMajorVersion(This,plMajorVersion);
2077}
2078static inline HRESULT ICatalogCollection_get_DataStoreMinorVersion(ICatalogCollection* This,LONG *plMinorVersionl) {
2079    return This->lpVtbl->get_DataStoreMinorVersion(This,plMinorVersionl);
2080}
2081static inline HRESULT ICatalogCollection_PopulateByKey(ICatalogCollection* This,SAFEARRAY *psaKeys) {
2082    return This->lpVtbl->PopulateByKey(This,psaKeys);
2083}
2084static inline HRESULT ICatalogCollection_PopulateByQuery(ICatalogCollection* This,BSTR bstrQueryString,LONG lQueryType) {
2085    return This->lpVtbl->PopulateByQuery(This,bstrQueryString,lQueryType);
2086}
2087#endif
2088#endif
2089
2090#endif
2091
2092
2093#endif  /* __ICatalogCollection_INTERFACE_DEFINED__ */
2094
2095#ifndef __COMAdmin_LIBRARY_DEFINED__
2096#define __COMAdmin_LIBRARY_DEFINED__
2097
2098DEFINE_GUID(LIBID_COMAdmin, 0xf618c513, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
2099
2100/*****************************************************************************
2101 * COMAdminCatalog coclass
2102 */
2103
2104DEFINE_GUID(CLSID_COMAdminCatalog, 0xf618c514, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
2105
2106#ifdef __cplusplus
2107class DECLSPEC_UUID("f618c514-dfb8-11d1-a2cf-00805fc79235") COMAdminCatalog;
2108#ifdef __CRT_UUID_DECL
2109__CRT_UUID_DECL(COMAdminCatalog, 0xf618c514, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35)
2110#endif
2111#endif
2112
2113/*****************************************************************************
2114 * COMAdminCatalogObject coclass
2115 */
2116
2117DEFINE_GUID(CLSID_COMAdminCatalogObject, 0xf618c515, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
2118
2119#ifdef __cplusplus
2120class DECLSPEC_UUID("f618c515-dfb8-11d1-a2cf-00805fc79235") COMAdminCatalogObject;
2121#ifdef __CRT_UUID_DECL
2122__CRT_UUID_DECL(COMAdminCatalogObject, 0xf618c515, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35)
2123#endif
2124#endif
2125
2126/*****************************************************************************
2127 * COMAdminCatalogCollection coclass
2128 */
2129
2130DEFINE_GUID(CLSID_COMAdminCatalogCollection, 0xf618c516, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
2131
2132#ifdef __cplusplus
2133class DECLSPEC_UUID("f618c516-dfb8-11d1-a2cf-00805fc79235") COMAdminCatalogCollection;
2134#ifdef __CRT_UUID_DECL
2135__CRT_UUID_DECL(COMAdminCatalogCollection, 0xf618c516, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35)
2136#endif
2137#endif
2138
2139#define COMAdminCollectionRoot ("Root")
2140
2141#define COMAdminCollectionApplications ("Applications")
2142
2143#define COMAdminCollectionComponents ("Components")
2144
2145#define COMAdminCollectionComputerList ("ComputerList")
2146
2147#define COMAdminCollectionApplicationCluster ("ApplicationCluster")
2148
2149#define COMAdminCollectionLocalComputer ("LocalComputer")
2150
2151#define COMAdminCollectionInprocServers ("InprocServers")
2152
2153#define COMAdminCollectionRelatedCollectionInfo ("RelatedCollectionInfo")
2154
2155#define COMAdminCollectionPropertyInfo ("PropertyInfo")
2156
2157#define COMAdminCollectionRoles ("Roles")
2158
2159#define COMAdminCollectionErrorInfo ("ErrorInfo")
2160
2161#define COMAdminCollectionInterfacesForComponent ("InterfacesForComponent")
2162
2163#define COMAdminCollectionRolesForComponent ("RolesForComponent")
2164
2165#define COMAdminCollectionMethodsForInterface ("MethodsForInterface")
2166
2167#define COMAdminCollectionRolesForInterface ("RolesForInterface")
2168
2169#define COMAdminCollectionRolesForMethod ("RolesForMethod")
2170
2171#define COMAdminCollectionUsersInRole ("UsersInRole")
2172
2173#define COMAdminCollectionDCOMProtocols ("DCOMProtocols")
2174
2175#define COMAdminCollectionPartitions ("Partitions")
2176
2177#endif /* __COMAdmin_LIBRARY_DEFINED__ */
2178#endif
2179/* Begin additional prototypes for all interfaces */
2180
2181ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
2182unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
2183unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
2184void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
2185ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
2186unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
2187unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
2188void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
2189
2190/* End additional prototypes */
2191
2192#ifdef __cplusplus
2193}
2194#endif
2195
2196#endif /* __comadmin_h__ */