Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 from include/comadmin.idl - Do not edit ***/
      2 
      3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      5 #endif
      6 
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 
     10 #ifndef COM_NO_WINDOWS_H
     11 #include <windows.h>
     12 #include <ole2.h>
     13 #endif
     14 
     15 #ifndef __comadmin_h__
     16 #define __comadmin_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __ICOMAdminCatalog_FWD_DEFINED__
     21 #define __ICOMAdminCatalog_FWD_DEFINED__
     22 typedef interface ICOMAdminCatalog ICOMAdminCatalog;
     23 #endif
     24 
     25 #ifndef __ICOMAdminCatalog2_FWD_DEFINED__
     26 #define __ICOMAdminCatalog2_FWD_DEFINED__
     27 typedef interface ICOMAdminCatalog2 ICOMAdminCatalog2;
     28 #endif
     29 
     30 #ifndef __ICatalogObject_FWD_DEFINED__
     31 #define __ICatalogObject_FWD_DEFINED__
     32 typedef interface ICatalogObject ICatalogObject;
     33 #endif
     34 
     35 #ifndef __ICatalogCollection_FWD_DEFINED__
     36 #define __ICatalogCollection_FWD_DEFINED__
     37 typedef interface ICatalogCollection ICatalogCollection;
     38 #endif
     39 
     40 #ifndef __COMAdminCatalog_FWD_DEFINED__
     41 #define __COMAdminCatalog_FWD_DEFINED__
     42 #ifdef __cplusplus
     43 typedef class COMAdminCatalog COMAdminCatalog;
     44 #else
     45 typedef struct COMAdminCatalog COMAdminCatalog;
     46 #endif /* defined __cplusplus */
     47 #endif /* defined __COMAdminCatalog_FWD_DEFINED__ */
     48 
     49 #ifndef __COMAdminCatalogObject_FWD_DEFINED__
     50 #define __COMAdminCatalogObject_FWD_DEFINED__
     51 #ifdef __cplusplus
     52 typedef class COMAdminCatalogObject COMAdminCatalogObject;
     53 #else
     54 typedef struct COMAdminCatalogObject COMAdminCatalogObject;
     55 #endif /* defined __cplusplus */
     56 #endif /* defined __COMAdminCatalogObject_FWD_DEFINED__ */
     57 
     58 #ifndef __COMAdminCatalogCollection_FWD_DEFINED__
     59 #define __COMAdminCatalogCollection_FWD_DEFINED__
     60 #ifdef __cplusplus
     61 typedef class COMAdminCatalogCollection COMAdminCatalogCollection;
     62 #else
     63 typedef struct COMAdminCatalogCollection COMAdminCatalogCollection;
     64 #endif /* defined __cplusplus */
     65 #endif /* defined __COMAdminCatalogCollection_FWD_DEFINED__ */
     66 
     67 /* Headers for imported files */
     68 
     69 #include <unknwn.h>
     70 #include <oaidl.h>
     71 
     72 #ifdef __cplusplus
     73 extern "C" {
     74 #endif
     75 
     76 /**
     77  * This file is part of the mingw-w64 runtime package.
     78  * No warranty is given; refer to the file DISCLAIMER within this package.
     79  */
     80 
     81 #include <winapifamily.h>
     82 
     83 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     84 
     85 #include <objbase.h>
     86 
     87 typedef enum COMAdminInUse {
     88     COMAdminNotInUse = 0,
     89     COMAdminInUseByCatalog = 1,
     90     COMAdminInUseByRegistryUnknown = 2,
     91     COMAdminInUseByRegistryProxyStub = 3,
     92     COMAdminInUseByRegistryTypeLib = 4,
     93     COMAdminInUseByRegistryClsid = 5
     94 } COMAdminInUse;
     95 typedef enum COMAdminErrorCodes {
     96     COMAdminErrObjectErrors = 0x80110401,
     97     COMAdminErrObjectInvalid = 0x80110402,
     98     COMAdminErrKeyMissing = 0x80110403,
     99     COMAdminErrAlreadyInstalled = 0x80110404,
    100     COMAdminErrAppFileWriteFail = 0x80110407,
    101     COMAdminErrAppFileReadFail = 0x80110408,
    102     COMAdminErrAppFileVersion = 0x80110409,
    103     COMAdminErrBadPath = 0x8011040a,
    104     COMAdminErrApplicationExists = 0x8011040b,
    105     COMAdminErrRoleExists = 0x8011040c,
    106     COMAdminErrCantCopyFile = 0x8011040d,
    107     COMAdminErrNoUser = 0x8011040f,
    108     COMAdminErrInvalidUserids = 0x80110410,
    109     COMAdminErrNoRegistryCLSID = 0x80110411,
    110     COMAdminErrBadRegistryProgID = 0x80110412,
    111     COMAdminErrAuthenticationLevel = 0x80110413,
    112     COMAdminErrUserPasswdNotValid = 0x80110414,
    113     COMAdminErrCLSIDOrIIDMismatch = 0x80110418,
    114     COMAdminErrRemoteInterface = 0x80110419,
    115     COMAdminErrDllRegisterServer = 0x8011041a,
    116     COMAdminErrNoServerShare = 0x8011041b,
    117     COMAdminErrDllLoadFailed = 0x8011041d,
    118     COMAdminErrBadRegistryLibID = 0x8011041e,
    119     COMAdminErrAppDirNotFound = 0x8011041f,
    120     COMAdminErrRegistrarFailed = 0x80110423,
    121     COMAdminErrCompFileDoesNotExist = 0x80110424,
    122     COMAdminErrCompFileLoadDLLFail = 0x80110425,
    123     COMAdminErrCompFileGetClassObj = 0x80110426,
    124     COMAdminErrCompFileClassNotAvail = 0x80110427,
    125     COMAdminErrCompFileBadTLB = 0x80110428,
    126     COMAdminErrCompFileNotInstallable = 0x80110429,
    127     COMAdminErrNotChangeable = 0x8011042a,
    128     COMAdminErrNotDeletable = 0x8011042b,
    129     COMAdminErrSession = 0x8011042c,
    130     COMAdminErrCompMoveLocked = 0x8011042d,
    131     COMAdminErrCompMoveBadDest = 0x8011042e,
    132     COMAdminErrRegisterTLB = 0x80110430,
    133     COMAdminErrSystemApp = 0x80110433,
    134     COMAdminErrCompFileNoRegistrar = 0x80110434,
    135     COMAdminErrCoReqCompInstalled = 0x80110435,
    136     COMAdminErrServiceNotInstalled = 0x80110436,
    137     COMAdminErrPropertySaveFailed = 0x80110437,
    138     COMAdminErrObjectExists = 0x80110438,
    139     COMAdminErrComponentExists = 0x80110439,
    140     COMAdminErrRegFileCorrupt = 0x8011043b,
    141     COMAdminErrPropertyOverflow = 0x8011043c,
    142     COMAdminErrNotInRegistry = 0x8011043e,
    143     COMAdminErrObjectNotPoolable = 0x8011043f,
    144     COMAdminErrApplidMatchesClsid = 0x80110446,
    145     COMAdminErrRoleDoesNotExist = 0x80110447,
    146     COMAdminErrStartAppNeedsComponents = 0x80110448,
    147     COMAdminErrRequiresDifferentPlatform = 0x80110449,
    148     COMAdminErrQueuingServiceNotAvailable = 0x80110602,
    149     COMAdminErrObjectParentMissing = 0x80110808,
    150     COMAdminErrObjectDoesNotExist = 0x80110809,
    151     COMAdminErrCanNotExportAppProxy = 0x8011044a,
    152     COMAdminErrCanNotStartApp = 0x8011044b,
    153     COMAdminErrCanNotExportSystemApp = 0x8011044c,
    154     COMAdminErrCanNotSubscribeToComponent = 0x8011044d,
    155     COMAdminErrAppNotRunning = 0x8011080a,
    156     COMAdminErrEventClassCannotBeSubscriber = 0x8011044e,
    157     COMAdminErrLibAppProxyIncompatible = 0x8011044f,
    158     COMAdminErrBasePartitionOnly = 0x80110450,
    159     COMAdminErrDuplicatePartitionName = 0x80110457,
    160     COMAdminErrPartitionInUse = 0x80110459,
    161     COMAdminErrImportedComponentsNotAllowed = 0x8011045b,
    162     COMAdminErrRegdbNotInitialized = 0x80110472,
    163     COMAdminErrRegdbNotOpen = 0x80110473,
    164     COMAdminErrRegdbSystemErr = 0x80110474,
    165     COMAdminErrRegdbAlreadyRunning = 0x80110475,
    166     COMAdminErrMigVersionNotSupported = 0x80110480,
    167     COMAdminErrMigSchemaNotFound = 0x80110481,
    168     COMAdminErrCatBitnessMismatch = 0x80110482,
    169     COMAdminErrCatUnacceptableBitness = 0x80110483,
    170     COMAdminErrCatWrongAppBitnessBitness = 0x80110484,
    171     COMAdminErrCatPauseResumeNotSupported = 0x80110485,
    172     COMAdminErrCatServerFault = 0x80110486,
    173     COMAdminErrCantRecycleLibraryApps = 0x8011080f,
    174     COMAdminErrCantRecycleServiceApps = 0x80110811,
    175     COMAdminErrProcessAlreadyRecycled = 0x80110812,
    176     COMAdminErrPausedProcessMayNotBeRecycled = 0x80110813,
    177     COMAdminErrInvalidPartition = 0x8011080b,
    178     COMAdminErrPartitionMsiOnly = 0x80110819,
    179     COMAdminErrStartAppDisabled = 0x80110451,
    180     COMAdminErrCompMoveSource = 0x8011081c,
    181     COMAdminErrCompMoveDest = 0x8011081d,
    182     COMAdminErrCompMovePrivate = 0x8011081e,
    183     COMAdminErrCannotCopyEventClass = 0x80110820
    184 } COMAdminErrorCodes;
    185 typedef enum COMAdminComponentType {
    186     COMAdmin32BitComponent = 0x1,
    187     COMAdmin64BitComponent = 0x2
    188 } COMAdminComponentType;
    189 typedef enum COMAdminApplicationInstallOptions {
    190     COMAdminInstallNoUsers = 0,
    191     COMAdminInstallUsers = 1,
    192     COMAdminInstallForceOverwriteOfFiles = 2
    193 } COMAdminApplicationInstallOptions;
    194 typedef enum COMAdminApplicationExportOptions {
    195     COMAdminExportNoUsers = 0x0,
    196     COMAdminExportUsers = 0x1,
    197     COMAdminExportApplicationProxy = 0x2,
    198     COMAdminExportForceOverwriteOfFiles = 0x4,
    199     COMAdminExportIn10Format = 0x10
    200 } COMAdminApplicationExportOptions;
    201 typedef enum COMAdminThreadingModels {
    202     COMAdminThreadingModelApartment = 0,
    203     COMAdminThreadingModelFree = 1,
    204     COMAdminThreadingModelMain = 2,
    205     COMAdminThreadingModelBoth = 3,
    206     COMAdminThreadingModelNeutral = 4,
    207     COMAdminThreadingModelNotSpecified = 5
    208 } COMAdminThreadingModels;
    209 typedef enum COMAdminTransactionOptions {
    210     COMAdminTransactionIgnored = 0,
    211     COMAdminTransactionNone = 1,
    212     COMAdminTransactionSupported = 2,
    213     COMAdminTransactionRequired = 3,
    214     COMAdminTransactionRequiresNew = 4
    215 } COMAdminTransactionOptions;
    216 typedef enum COMAdminTxIsolationLevelOptions {
    217     COMAdminTxIsolationLevelAny = 0,
    218     COMAdminTxIsolationLevelReadUnCommitted = 1,
    219     COMAdminTxIsolationLevelReadCommitted = 2,
    220     COMAdminTxIsolationLevelRepeatableRead = 3,
    221     COMAdminTxIsolationLevelSerializable = 4
    222 } COMAdminTxIsolationLevelOptions;
    223 typedef enum COMAdminSynchronizationOptions {
    224     COMAdminSynchronizationIgnored = 0,
    225     COMAdminSynchronizationNone = 1,
    226     COMAdminSynchronizationSupported = 2,
    227     COMAdminSynchronizationRequired = 3,
    228     COMAdminSynchronizationRequiresNew = 4
    229 } COMAdminSynchronizationOptions;
    230 typedef enum COMAdminActivationOptions {
    231     COMAdminActivationInproc = 0,
    232     COMAdminActivationLocal = 1
    233 } COMAdminActivationOptions;
    234 typedef enum COMAdminAccessChecksLevelOptions {
    235     COMAdminAccessChecksApplicationLevel = 0,
    236     COMAdminAccessChecksApplicationComponentLevel = 1
    237 } COMAdminAccessChecksLevelOptions;
    238 typedef enum COMAdminAuthenticationLevelOptions {
    239     COMAdminAuthenticationDefault = 0,
    240     COMAdminAuthenticationNone = 1,
    241     COMAdminAuthenticationConnect = 2,
    242     COMAdminAuthenticationCall = 3,
    243     COMAdminAuthenticationPacket = 4,
    244     COMAdminAuthenticationIntegrity = 5,
    245     COMAdminAuthenticationPrivacy = 6
    246 } COMAdminAuthenticationLevelOptions;
    247 typedef enum COMAdminImpersonationLevelOptions {
    248     COMAdminImpersonationAnonymous = 1,
    249     COMAdminImpersonationIdentify = 2,
    250     COMAdminImpersonationImpersonate = 3,
    251     COMAdminImpersonationDelegate = 4
    252 } COMAdminImpersonationLevelOptions;
    253 typedef enum COMAdminAuthenticationCapabilitiesOptions {
    254     COMAdminAuthenticationCapabilitiesNone = 0x0,
    255     COMAdminAuthenticationCapabilitiesSecureReference = 0x2,
    256     COMAdminAuthenticationCapabilitiesStaticCloaking = 0x20,
    257     COMAdminAuthenticationCapabilitiesDynamicCloaking = 0x40
    258 } COMAdminAuthenticationCapabilitiesOptions;
    259 typedef enum COMAdminOS {
    260     COMAdminOSNotInitialized = 0,
    261     COMAdminOSWindows3_1 = 1,
    262     COMAdminOSWindows9x = 2,
    263     COMAdminOSWindows2000 = 3,
    264     COMAdminOSWindows2000AdvancedServer = 4,
    265     COMAdminOSWindows2000Unknown = 5,
    266     COMAdminOSUnknown = 6,
    267     COMAdminOSWindowsXPPersonal = 11,
    268     COMAdminOSWindowsXPProfessional = 12,
    269     COMAdminOSWindowsNETStandardServer = 13,
    270     COMAdminOSWindowsNETEnterpriseServer = 14,
    271     COMAdminOSWindowsNETDatacenterServer = 15,
    272     COMAdminOSWindowsNETWebServer = 16,
    273     COMAdminOSWindowsLonghornPersonal = 17,
    274     COMAdminOSWindowsLonghornProfessional = 18,
    275     COMAdminOSWindowsLonghornStandardServer = 19,
    276     COMAdminOSWindowsLonghornEnterpriseServer = 20,
    277     COMAdminOSWindowsLonghornDatacenterServer = 21,
    278     COMAdminOSWindowsLonghornWebServer = 22,
    279     COMAdminOSWindows7Personal = 23,
    280     COMAdminOSWindows7Professional = 24,
    281     COMAdminOSWindows7StandardServer = 25,
    282     COMAdminOSWindows7EnterpriseServer = 26,
    283     COMAdminOSWindows7DatacenterServer = 27,
    284     COMAdminOSWindows7WebServer = 28,
    285     COMAdminOSWindows8Personal = 29,
    286     COMAdminOSWindows8Professional = 30,
    287     COMAdminOSWindows8StandardServer = 31,
    288     COMAdminOSWindows8EnterpriseServer = 32,
    289     COMAdminOSWindows8DatacenterServer = 33,
    290     COMAdminOSWindows8WebServer = 34
    291 } COMAdminOS;
    292 typedef enum COMAdminServiceOptions {
    293     COMAdminServiceLoadBalanceRouter = 1
    294 } COMAdminServiceOptions;
    295 typedef enum COMAdminServiceStatusOptions {
    296     COMAdminServiceStopped = 0,
    297     COMAdminServiceStartPending = 1,
    298     COMAdminServiceStopPending = 2,
    299     COMAdminServiceRunning = 3,
    300     COMAdminServiceContinuePending = 4,
    301     COMAdminServicePausePending = 5,
    302     COMAdminServicePaused = 6,
    303     COMAdminServiceUnknownState = 7
    304 } COMAdminServiceStatusOptions;
    305 typedef enum COMAdminComponentFlags {
    306     COMAdminCompFlagTypeInfoFound = 0x1,
    307     COMAdminCompFlagCOMPlusPropertiesFound = 0x2,
    308     COMAdminCompFlagProxyFound = 0x4,
    309     COMAdminCompFlagInterfacesFound = 0x8,
    310     COMAdminCompFlagAlreadyInstalled = 0x10,
    311     COMAdminCompFlagNotInApplication = 0x20
    312 } COMAdminComponentFlags;
    313 typedef enum COMAdminQCMessageAuthenticateOptions {
    314     COMAdminQCMessageAuthenticateSecureApps = 0,
    315     COMAdminQCMessageAuthenticateOff = 1,
    316     COMAdminQCMessageAuthenticateOn = 2
    317 } COMAdminQCMessageAuthenticateOptions;
    318 typedef enum COMAdminFileFlags {
    319     COMAdminFileFlagLoadable = 0x1,
    320     COMAdminFileFlagCOM = 0x2,
    321     COMAdminFileFlagContainsPS = 0x4,
    322     COMAdminFileFlagContainsComp = 0x8,
    323     COMAdminFileFlagContainsTLB = 0x10,
    324     COMAdminFileFlagSelfReg = 0x20,
    325     COMAdminFileFlagSelfUnReg = 0x40,
    326     COMAdminFileFlagUnloadableDLL = 0x80,
    327     COMAdminFileFlagDoesNotExist = 0x100,
    328     COMAdminFileFlagAlreadyInstalled = 0x200,
    329     COMAdminFileFlagBadTLB = 0x400,
    330     COMAdminFileFlagGetClassObjFailed = 0x800,
    331     COMAdminFileFlagClassNotAvailable = 0x1000,
    332     COMAdminFileFlagRegistrar = 0x2000,
    333     COMAdminFileFlagNoRegistrar = 0x4000,
    334     COMAdminFileFlagDLLRegsvrFailed = 0x8000,
    335     COMAdminFileFlagRegTLBFailed = 0x10000,
    336     COMAdminFileFlagRegistrarFailed = 0x20000,
    337     COMAdminFileFlagError = 0x40000
    338 } COMAdminFileFlags;
    339 /*****************************************************************************
    340  * ICOMAdminCatalog interface
    341  */
    342 #ifndef __ICOMAdminCatalog_INTERFACE_DEFINED__
    343 #define __ICOMAdminCatalog_INTERFACE_DEFINED__
    344 
    345 DEFINE_GUID(IID_ICOMAdminCatalog, 0xdd662187, 0xdfc2, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
    346 #if defined(__cplusplus) && !defined(CINTERFACE)
    347 MIDL_INTERFACE("dd662187-dfc2-11d1-a2cf-00805fc79235")
    348 ICOMAdminCatalog : public IDispatch
    349 {
    350     virtual HRESULT STDMETHODCALLTYPE GetCollection(
    351         BSTR bstrCollName,
    352         IDispatch **ppCatalogCollection) = 0;
    353 
    354     virtual HRESULT STDMETHODCALLTYPE Connect(
    355         BSTR bstrCatalogServerName,
    356         IDispatch **ppCatalogCollection) = 0;
    357 
    358     virtual HRESULT STDMETHODCALLTYPE get_MajorVersion(
    359         LONG *plMajorVersion) = 0;
    360 
    361     virtual HRESULT STDMETHODCALLTYPE get_MinorVersion(
    362         LONG *plMinorVersion) = 0;
    363 
    364     virtual HRESULT STDMETHODCALLTYPE GetCollectionByQuery(
    365         BSTR bstrCollName,
    366         SAFEARRAY **ppsaVarQuery,
    367         IDispatch **ppCatalogCollection) = 0;
    368 
    369     virtual HRESULT STDMETHODCALLTYPE ImportComponent(
    370         BSTR bstrApplIDOrName,
    371         BSTR bstrCLSIDOrProgID) = 0;
    372 
    373     virtual HRESULT STDMETHODCALLTYPE InstallComponent(
    374         BSTR bstrApplIDOrName,
    375         BSTR bstrDLL,
    376         BSTR bstrTLB,
    377         BSTR bstrPSDLL) = 0;
    378 
    379     virtual HRESULT STDMETHODCALLTYPE ShutdownApplication(
    380         BSTR bstrApplIDOrName) = 0;
    381 
    382     virtual HRESULT STDMETHODCALLTYPE ExportApplication(
    383         BSTR bstrApplIDOrName,
    384         BSTR bstrApplicationFile,
    385         LONG lOptions) = 0;
    386 
    387     virtual HRESULT STDMETHODCALLTYPE InstallApplication(
    388         BSTR bstrApplicationFile,
    389         BSTR bstrDestinationDirectory,
    390         LONG lOptions,
    391         BSTR bstrUserId,
    392         BSTR bstrPassword,
    393         BSTR bstrRSN) = 0;
    394 
    395     virtual HRESULT STDMETHODCALLTYPE StopRouter(
    396         ) = 0;
    397 
    398     virtual HRESULT STDMETHODCALLTYPE RefreshRouter(
    399         ) = 0;
    400 
    401     virtual HRESULT STDMETHODCALLTYPE StartRouter(
    402         ) = 0;
    403 
    404     virtual HRESULT STDMETHODCALLTYPE Reserved1(
    405         ) = 0;
    406 
    407     virtual HRESULT STDMETHODCALLTYPE Reserved2(
    408         ) = 0;
    409 
    410     virtual HRESULT STDMETHODCALLTYPE InstallMultipleComponents(
    411         BSTR bstrApplIDOrName,
    412         SAFEARRAY **ppsaVarFileNames,
    413         SAFEARRAY **ppsaVarCLSIDs) = 0;
    414 
    415     virtual HRESULT STDMETHODCALLTYPE GetMultipleComponentsInfo(
    416         BSTR bstrApplIdOrName,
    417         SAFEARRAY **ppsaVarFileNames,
    418         SAFEARRAY **ppsaVarCLSIDs,
    419         SAFEARRAY **ppsaVarClassNames,
    420         SAFEARRAY **ppsaVarFileFlags,
    421         SAFEARRAY **ppsaVarComponentFlags) = 0;
    422 
    423     virtual HRESULT STDMETHODCALLTYPE RefreshComponents(
    424         ) = 0;
    425 
    426     virtual HRESULT STDMETHODCALLTYPE BackupREGDB(
    427         BSTR bstrBackupFilePath) = 0;
    428 
    429     virtual HRESULT STDMETHODCALLTYPE RestoreREGDB(
    430         BSTR bstrBackupFilePath) = 0;
    431 
    432     virtual HRESULT STDMETHODCALLTYPE QueryApplicationFile(
    433         BSTR bstrApplicationFile,
    434         BSTR *pbstrApplicationName,
    435         BSTR *pbstrApplicationDescription,
    436         VARIANT_BOOL *pbHasUsers,
    437         VARIANT_BOOL *pbIsProxy,
    438         SAFEARRAY **ppsaVarFileNames) = 0;
    439 
    440     virtual HRESULT STDMETHODCALLTYPE StartApplication(
    441         BSTR bstrApplIdOrName) = 0;
    442 
    443     virtual HRESULT STDMETHODCALLTYPE ServiceCheck(
    444         LONG lService,
    445         LONG *plStatus) = 0;
    446 
    447     virtual HRESULT STDMETHODCALLTYPE InstallMultipleEventClasses(
    448         BSTR bstrApplIdOrName,
    449         SAFEARRAY **ppsaVarFileNames,
    450         SAFEARRAY **ppsaVarCLSIDS) = 0;
    451 
    452     virtual HRESULT STDMETHODCALLTYPE InstallEventClass(
    453         BSTR bstrApplIdOrName,
    454         BSTR bstrDLL,
    455         BSTR bstrTLB,
    456         BSTR bstrPSDLL) = 0;
    457 
    458     virtual HRESULT STDMETHODCALLTYPE GetEventClassesForIID(
    459         BSTR bstrIID,
    460         SAFEARRAY **ppsaVarCLSIDs,
    461         SAFEARRAY **ppsaVarProgIDs,
    462         SAFEARRAY **ppsaVarDescriptions) = 0;
    463 
    464 };
    465 #ifdef __CRT_UUID_DECL
    466 __CRT_UUID_DECL(ICOMAdminCatalog, 0xdd662187, 0xdfc2, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35)
    467 #endif
    468 #else
    469 typedef struct ICOMAdminCatalogVtbl {
    470     BEGIN_INTERFACE
    471 
    472     /*** IUnknown methods ***/
    473     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    474         ICOMAdminCatalog* This,
    475         REFIID riid,
    476         void **ppvObject);
    477 
    478     ULONG (STDMETHODCALLTYPE *AddRef)(
    479         ICOMAdminCatalog* This);
    480 
    481     ULONG (STDMETHODCALLTYPE *Release)(
    482         ICOMAdminCatalog* This);
    483 
    484     /*** IDispatch methods ***/
    485     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    486         ICOMAdminCatalog* This,
    487         UINT *pctinfo);
    488 
    489     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    490         ICOMAdminCatalog* This,
    491         UINT iTInfo,
    492         LCID lcid,
    493         ITypeInfo **ppTInfo);
    494 
    495     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    496         ICOMAdminCatalog* This,
    497         REFIID riid,
    498         LPOLESTR *rgszNames,
    499         UINT cNames,
    500         LCID lcid,
    501         DISPID *rgDispId);
    502 
    503     HRESULT (STDMETHODCALLTYPE *Invoke)(
    504         ICOMAdminCatalog* This,
    505         DISPID dispIdMember,
    506         REFIID riid,
    507         LCID lcid,
    508         WORD wFlags,
    509         DISPPARAMS *pDispParams,
    510         VARIANT *pVarResult,
    511         EXCEPINFO *pExcepInfo,
    512         UINT *puArgErr);
    513 
    514     /*** ICOMAdminCatalog methods ***/
    515     HRESULT (STDMETHODCALLTYPE *GetCollection)(
    516         ICOMAdminCatalog* This,
    517         BSTR bstrCollName,
    518         IDispatch **ppCatalogCollection);
    519 
    520     HRESULT (STDMETHODCALLTYPE *Connect)(
    521         ICOMAdminCatalog* This,
    522         BSTR bstrCatalogServerName,
    523         IDispatch **ppCatalogCollection);
    524 
    525     HRESULT (STDMETHODCALLTYPE *get_MajorVersion)(
    526         ICOMAdminCatalog* This,
    527         LONG *plMajorVersion);
    528 
    529     HRESULT (STDMETHODCALLTYPE *get_MinorVersion)(
    530         ICOMAdminCatalog* This,
    531         LONG *plMinorVersion);
    532 
    533     HRESULT (STDMETHODCALLTYPE *GetCollectionByQuery)(
    534         ICOMAdminCatalog* This,
    535         BSTR bstrCollName,
    536         SAFEARRAY **ppsaVarQuery,
    537         IDispatch **ppCatalogCollection);
    538 
    539     HRESULT (STDMETHODCALLTYPE *ImportComponent)(
    540         ICOMAdminCatalog* This,
    541         BSTR bstrApplIDOrName,
    542         BSTR bstrCLSIDOrProgID);
    543 
    544     HRESULT (STDMETHODCALLTYPE *InstallComponent)(
    545         ICOMAdminCatalog* This,
    546         BSTR bstrApplIDOrName,
    547         BSTR bstrDLL,
    548         BSTR bstrTLB,
    549         BSTR bstrPSDLL);
    550 
    551     HRESULT (STDMETHODCALLTYPE *ShutdownApplication)(
    552         ICOMAdminCatalog* This,
    553         BSTR bstrApplIDOrName);
    554 
    555     HRESULT (STDMETHODCALLTYPE *ExportApplication)(
    556         ICOMAdminCatalog* This,
    557         BSTR bstrApplIDOrName,
    558         BSTR bstrApplicationFile,
    559         LONG lOptions);
    560 
    561     HRESULT (STDMETHODCALLTYPE *InstallApplication)(
    562         ICOMAdminCatalog* This,
    563         BSTR bstrApplicationFile,
    564         BSTR bstrDestinationDirectory,
    565         LONG lOptions,
    566         BSTR bstrUserId,
    567         BSTR bstrPassword,
    568         BSTR bstrRSN);
    569 
    570     HRESULT (STDMETHODCALLTYPE *StopRouter)(
    571         ICOMAdminCatalog* This);
    572 
    573     HRESULT (STDMETHODCALLTYPE *RefreshRouter)(
    574         ICOMAdminCatalog* This);
    575 
    576     HRESULT (STDMETHODCALLTYPE *StartRouter)(
    577         ICOMAdminCatalog* This);
    578 
    579     HRESULT (STDMETHODCALLTYPE *Reserved1)(
    580         ICOMAdminCatalog* This);
    581 
    582     HRESULT (STDMETHODCALLTYPE *Reserved2)(
    583         ICOMAdminCatalog* This);
    584 
    585     HRESULT (STDMETHODCALLTYPE *InstallMultipleComponents)(
    586         ICOMAdminCatalog* This,
    587         BSTR bstrApplIDOrName,
    588         SAFEARRAY **ppsaVarFileNames,
    589         SAFEARRAY **ppsaVarCLSIDs);
    590 
    591     HRESULT (STDMETHODCALLTYPE *GetMultipleComponentsInfo)(
    592         ICOMAdminCatalog* This,
    593         BSTR bstrApplIdOrName,
    594         SAFEARRAY **ppsaVarFileNames,
    595         SAFEARRAY **ppsaVarCLSIDs,
    596         SAFEARRAY **ppsaVarClassNames,
    597         SAFEARRAY **ppsaVarFileFlags,
    598         SAFEARRAY **ppsaVarComponentFlags);
    599 
    600     HRESULT (STDMETHODCALLTYPE *RefreshComponents)(
    601         ICOMAdminCatalog* This);
    602 
    603     HRESULT (STDMETHODCALLTYPE *BackupREGDB)(
    604         ICOMAdminCatalog* This,
    605         BSTR bstrBackupFilePath);
    606 
    607     HRESULT (STDMETHODCALLTYPE *RestoreREGDB)(
    608         ICOMAdminCatalog* This,
    609         BSTR bstrBackupFilePath);
    610 
    611     HRESULT (STDMETHODCALLTYPE *QueryApplicationFile)(
    612         ICOMAdminCatalog* This,
    613         BSTR bstrApplicationFile,
    614         BSTR *pbstrApplicationName,
    615         BSTR *pbstrApplicationDescription,
    616         VARIANT_BOOL *pbHasUsers,
    617         VARIANT_BOOL *pbIsProxy,
    618         SAFEARRAY **ppsaVarFileNames);
    619 
    620     HRESULT (STDMETHODCALLTYPE *StartApplication)(
    621         ICOMAdminCatalog* This,
    622         BSTR bstrApplIdOrName);
    623 
    624     HRESULT (STDMETHODCALLTYPE *ServiceCheck)(
    625         ICOMAdminCatalog* This,
    626         LONG lService,
    627         LONG *plStatus);
    628 
    629     HRESULT (STDMETHODCALLTYPE *InstallMultipleEventClasses)(
    630         ICOMAdminCatalog* This,
    631         BSTR bstrApplIdOrName,
    632         SAFEARRAY **ppsaVarFileNames,
    633         SAFEARRAY **ppsaVarCLSIDS);
    634 
    635     HRESULT (STDMETHODCALLTYPE *InstallEventClass)(
    636         ICOMAdminCatalog* This,
    637         BSTR bstrApplIdOrName,
    638         BSTR bstrDLL,
    639         BSTR bstrTLB,
    640         BSTR bstrPSDLL);
    641 
    642     HRESULT (STDMETHODCALLTYPE *GetEventClassesForIID)(
    643         ICOMAdminCatalog* This,
    644         BSTR bstrIID,
    645         SAFEARRAY **ppsaVarCLSIDs,
    646         SAFEARRAY **ppsaVarProgIDs,
    647         SAFEARRAY **ppsaVarDescriptions);
    648 
    649     END_INTERFACE
    650 } ICOMAdminCatalogVtbl;
    651 interface ICOMAdminCatalog {
    652     CONST_VTBL ICOMAdminCatalogVtbl* lpVtbl;
    653 };
    654 
    655 #ifdef COBJMACROS
    656 #ifndef WIDL_C_INLINE_WRAPPERS
    657 /*** IUnknown methods ***/
    658 #define ICOMAdminCatalog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    659 #define ICOMAdminCatalog_AddRef(This) (This)->lpVtbl->AddRef(This)
    660 #define ICOMAdminCatalog_Release(This) (This)->lpVtbl->Release(This)
    661 /*** IDispatch methods ***/
    662 #define ICOMAdminCatalog_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    663 #define ICOMAdminCatalog_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    664 #define ICOMAdminCatalog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    665 #define ICOMAdminCatalog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    666 /*** ICOMAdminCatalog methods ***/
    667 #define ICOMAdminCatalog_GetCollection(This,bstrCollName,ppCatalogCollection) (This)->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection)
    668 #define ICOMAdminCatalog_Connect(This,bstrCatalogServerName,ppCatalogCollection) (This)->lpVtbl->Connect(This,bstrCatalogServerName,ppCatalogCollection)
    669 #define ICOMAdminCatalog_get_MajorVersion(This,plMajorVersion) (This)->lpVtbl->get_MajorVersion(This,plMajorVersion)
    670 #define ICOMAdminCatalog_get_MinorVersion(This,plMinorVersion) (This)->lpVtbl->get_MinorVersion(This,plMinorVersion)
    671 #define ICOMAdminCatalog_GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection) (This)->lpVtbl->GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection)
    672 #define ICOMAdminCatalog_ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID) (This)->lpVtbl->ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID)
    673 #define ICOMAdminCatalog_InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL) (This)->lpVtbl->InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL)
    674 #define ICOMAdminCatalog_ShutdownApplication(This,bstrApplIDOrName) (This)->lpVtbl->ShutdownApplication(This,bstrApplIDOrName)
    675 #define ICOMAdminCatalog_ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions) (This)->lpVtbl->ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions)
    676 #define ICOMAdminCatalog_InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN) (This)->lpVtbl->InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN)
    677 #define ICOMAdminCatalog_StopRouter(This) (This)->lpVtbl->StopRouter(This)
    678 #define ICOMAdminCatalog_RefreshRouter(This) (This)->lpVtbl->RefreshRouter(This)
    679 #define ICOMAdminCatalog_StartRouter(This) (This)->lpVtbl->StartRouter(This)
    680 #define ICOMAdminCatalog_Reserved1(This) (This)->lpVtbl->Reserved1(This)
    681 #define ICOMAdminCatalog_Reserved2(This) (This)->lpVtbl->Reserved2(This)
    682 #define ICOMAdminCatalog_InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs) (This)->lpVtbl->InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs)
    683 #define ICOMAdminCatalog_GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags) (This)->lpVtbl->GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags)
    684 #define ICOMAdminCatalog_RefreshComponents(This) (This)->lpVtbl->RefreshComponents(This)
    685 #define ICOMAdminCatalog_BackupREGDB(This,bstrBackupFilePath) (This)->lpVtbl->BackupREGDB(This,bstrBackupFilePath)
    686 #define ICOMAdminCatalog_RestoreREGDB(This,bstrBackupFilePath) (This)->lpVtbl->RestoreREGDB(This,bstrBackupFilePath)
    687 #define ICOMAdminCatalog_QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames) (This)->lpVtbl->QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames)
    688 #define ICOMAdminCatalog_StartApplication(This,bstrApplIdOrName) (This)->lpVtbl->StartApplication(This,bstrApplIdOrName)
    689 #define ICOMAdminCatalog_ServiceCheck(This,lService,plStatus) (This)->lpVtbl->ServiceCheck(This,lService,plStatus)
    690 #define ICOMAdminCatalog_InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS) (This)->lpVtbl->InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS)
    691 #define ICOMAdminCatalog_InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL) (This)->lpVtbl->InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL)
    692 #define ICOMAdminCatalog_GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions) (This)->lpVtbl->GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions)
    693 #else
    694 /*** IUnknown methods ***/
    695 static FORCEINLINE HRESULT ICOMAdminCatalog_QueryInterface(ICOMAdminCatalog* This,REFIID riid,void **ppvObject) {
    696     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    697 }
    698 static FORCEINLINE ULONG ICOMAdminCatalog_AddRef(ICOMAdminCatalog* This) {
    699     return This->lpVtbl->AddRef(This);
    700 }
    701 static FORCEINLINE ULONG ICOMAdminCatalog_Release(ICOMAdminCatalog* This) {
    702     return This->lpVtbl->Release(This);
    703 }
    704 /*** IDispatch methods ***/
    705 static FORCEINLINE HRESULT ICOMAdminCatalog_GetTypeInfoCount(ICOMAdminCatalog* This,UINT *pctinfo) {
    706     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    707 }
    708 static FORCEINLINE HRESULT ICOMAdminCatalog_GetTypeInfo(ICOMAdminCatalog* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    709     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    710 }
    711 static FORCEINLINE HRESULT ICOMAdminCatalog_GetIDsOfNames(ICOMAdminCatalog* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    712     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    713 }
    714 static FORCEINLINE HRESULT ICOMAdminCatalog_Invoke(ICOMAdminCatalog* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    715     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    716 }
    717 /*** ICOMAdminCatalog methods ***/
    718 static FORCEINLINE HRESULT ICOMAdminCatalog_GetCollection(ICOMAdminCatalog* This,BSTR bstrCollName,IDispatch **ppCatalogCollection) {
    719     return This->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection);
    720 }
    721 static FORCEINLINE HRESULT ICOMAdminCatalog_Connect(ICOMAdminCatalog* This,BSTR bstrCatalogServerName,IDispatch **ppCatalogCollection) {
    722     return This->lpVtbl->Connect(This,bstrCatalogServerName,ppCatalogCollection);
    723 }
    724 static FORCEINLINE HRESULT ICOMAdminCatalog_get_MajorVersion(ICOMAdminCatalog* This,LONG *plMajorVersion) {
    725     return This->lpVtbl->get_MajorVersion(This,plMajorVersion);
    726 }
    727 static FORCEINLINE HRESULT ICOMAdminCatalog_get_MinorVersion(ICOMAdminCatalog* This,LONG *plMinorVersion) {
    728     return This->lpVtbl->get_MinorVersion(This,plMinorVersion);
    729 }
    730 static FORCEINLINE HRESULT ICOMAdminCatalog_GetCollectionByQuery(ICOMAdminCatalog* This,BSTR bstrCollName,SAFEARRAY **ppsaVarQuery,IDispatch **ppCatalogCollection) {
    731     return This->lpVtbl->GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection);
    732 }
    733 static FORCEINLINE HRESULT ICOMAdminCatalog_ImportComponent(ICOMAdminCatalog* This,BSTR bstrApplIDOrName,BSTR bstrCLSIDOrProgID) {
    734     return This->lpVtbl->ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID);
    735 }
    736 static FORCEINLINE HRESULT ICOMAdminCatalog_InstallComponent(ICOMAdminCatalog* This,BSTR bstrApplIDOrName,BSTR bstrDLL,BSTR bstrTLB,BSTR bstrPSDLL) {
    737     return This->lpVtbl->InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL);
    738 }
    739 static FORCEINLINE HRESULT ICOMAdminCatalog_ShutdownApplication(ICOMAdminCatalog* This,BSTR bstrApplIDOrName) {
    740     return This->lpVtbl->ShutdownApplication(This,bstrApplIDOrName);
    741 }
    742 static FORCEINLINE HRESULT ICOMAdminCatalog_ExportApplication(ICOMAdminCatalog* This,BSTR bstrApplIDOrName,BSTR bstrApplicationFile,LONG lOptions) {
    743     return This->lpVtbl->ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions);
    744 }
    745 static FORCEINLINE HRESULT ICOMAdminCatalog_InstallApplication(ICOMAdminCatalog* This,BSTR bstrApplicationFile,BSTR bstrDestinationDirectory,LONG lOptions,BSTR bstrUserId,BSTR bstrPassword,BSTR bstrRSN) {
    746     return This->lpVtbl->InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN);
    747 }
    748 static FORCEINLINE HRESULT ICOMAdminCatalog_StopRouter(ICOMAdminCatalog* This) {
    749     return This->lpVtbl->StopRouter(This);
    750 }
    751 static FORCEINLINE HRESULT ICOMAdminCatalog_RefreshRouter(ICOMAdminCatalog* This) {
    752     return This->lpVtbl->RefreshRouter(This);
    753 }
    754 static FORCEINLINE HRESULT ICOMAdminCatalog_StartRouter(ICOMAdminCatalog* This) {
    755     return This->lpVtbl->StartRouter(This);
    756 }
    757 static FORCEINLINE HRESULT ICOMAdminCatalog_Reserved1(ICOMAdminCatalog* This) {
    758     return This->lpVtbl->Reserved1(This);
    759 }
    760 static FORCEINLINE HRESULT ICOMAdminCatalog_Reserved2(ICOMAdminCatalog* This) {
    761     return This->lpVtbl->Reserved2(This);
    762 }
    763 static FORCEINLINE HRESULT ICOMAdminCatalog_InstallMultipleComponents(ICOMAdminCatalog* This,BSTR bstrApplIDOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDs) {
    764     return This->lpVtbl->InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs);
    765 }
    766 static FORCEINLINE HRESULT ICOMAdminCatalog_GetMultipleComponentsInfo(ICOMAdminCatalog* This,BSTR bstrApplIdOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDs,SAFEARRAY **ppsaVarClassNames,SAFEARRAY **ppsaVarFileFlags,SAFEARRAY **ppsaVarComponentFlags) {
    767     return This->lpVtbl->GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags);
    768 }
    769 static FORCEINLINE HRESULT ICOMAdminCatalog_RefreshComponents(ICOMAdminCatalog* This) {
    770     return This->lpVtbl->RefreshComponents(This);
    771 }
    772 static FORCEINLINE HRESULT ICOMAdminCatalog_BackupREGDB(ICOMAdminCatalog* This,BSTR bstrBackupFilePath) {
    773     return This->lpVtbl->BackupREGDB(This,bstrBackupFilePath);
    774 }
    775 static FORCEINLINE HRESULT ICOMAdminCatalog_RestoreREGDB(ICOMAdminCatalog* This,BSTR bstrBackupFilePath) {
    776     return This->lpVtbl->RestoreREGDB(This,bstrBackupFilePath);
    777 }
    778 static FORCEINLINE HRESULT ICOMAdminCatalog_QueryApplicationFile(ICOMAdminCatalog* This,BSTR bstrApplicationFile,BSTR *pbstrApplicationName,BSTR *pbstrApplicationDescription,VARIANT_BOOL *pbHasUsers,VARIANT_BOOL *pbIsProxy,SAFEARRAY **ppsaVarFileNames) {
    779     return This->lpVtbl->QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames);
    780 }
    781 static FORCEINLINE HRESULT ICOMAdminCatalog_StartApplication(ICOMAdminCatalog* This,BSTR bstrApplIdOrName) {
    782     return This->lpVtbl->StartApplication(This,bstrApplIdOrName);
    783 }
    784 static FORCEINLINE HRESULT ICOMAdminCatalog_ServiceCheck(ICOMAdminCatalog* This,LONG lService,LONG *plStatus) {
    785     return This->lpVtbl->ServiceCheck(This,lService,plStatus);
    786 }
    787 static FORCEINLINE HRESULT ICOMAdminCatalog_InstallMultipleEventClasses(ICOMAdminCatalog* This,BSTR bstrApplIdOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDS) {
    788     return This->lpVtbl->InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS);
    789 }
    790 static FORCEINLINE HRESULT ICOMAdminCatalog_InstallEventClass(ICOMAdminCatalog* This,BSTR bstrApplIdOrName,BSTR bstrDLL,BSTR bstrTLB,BSTR bstrPSDLL) {
    791     return This->lpVtbl->InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL);
    792 }
    793 static FORCEINLINE HRESULT ICOMAdminCatalog_GetEventClassesForIID(ICOMAdminCatalog* This,BSTR bstrIID,SAFEARRAY **ppsaVarCLSIDs,SAFEARRAY **ppsaVarProgIDs,SAFEARRAY **ppsaVarDescriptions) {
    794     return This->lpVtbl->GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions);
    795 }
    796 #endif
    797 #endif
    798 
    799 #endif
    800 
    801 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_GetCollection_Proxy(
    802     ICOMAdminCatalog* This,
    803     BSTR bstrCollName,
    804     IDispatch **ppCatalogCollection);
    805 void __RPC_STUB ICOMAdminCatalog_GetCollection_Stub(
    806     IRpcStubBuffer* This,
    807     IRpcChannelBuffer* pRpcChannelBuffer,
    808     PRPC_MESSAGE pRpcMessage,
    809     DWORD* pdwStubPhase);
    810 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_Connect_Proxy(
    811     ICOMAdminCatalog* This,
    812     BSTR bstrCatalogServerName,
    813     IDispatch **ppCatalogCollection);
    814 void __RPC_STUB ICOMAdminCatalog_Connect_Stub(
    815     IRpcStubBuffer* This,
    816     IRpcChannelBuffer* pRpcChannelBuffer,
    817     PRPC_MESSAGE pRpcMessage,
    818     DWORD* pdwStubPhase);
    819 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_get_MajorVersion_Proxy(
    820     ICOMAdminCatalog* This,
    821     LONG *plMajorVersion);
    822 void __RPC_STUB ICOMAdminCatalog_get_MajorVersion_Stub(
    823     IRpcStubBuffer* This,
    824     IRpcChannelBuffer* pRpcChannelBuffer,
    825     PRPC_MESSAGE pRpcMessage,
    826     DWORD* pdwStubPhase);
    827 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_get_MinorVersion_Proxy(
    828     ICOMAdminCatalog* This,
    829     LONG *plMinorVersion);
    830 void __RPC_STUB ICOMAdminCatalog_get_MinorVersion_Stub(
    831     IRpcStubBuffer* This,
    832     IRpcChannelBuffer* pRpcChannelBuffer,
    833     PRPC_MESSAGE pRpcMessage,
    834     DWORD* pdwStubPhase);
    835 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_GetCollectionByQuery_Proxy(
    836     ICOMAdminCatalog* This,
    837     BSTR bstrCollName,
    838     SAFEARRAY **ppsaVarQuery,
    839     IDispatch **ppCatalogCollection);
    840 void __RPC_STUB ICOMAdminCatalog_GetCollectionByQuery_Stub(
    841     IRpcStubBuffer* This,
    842     IRpcChannelBuffer* pRpcChannelBuffer,
    843     PRPC_MESSAGE pRpcMessage,
    844     DWORD* pdwStubPhase);
    845 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_ImportComponent_Proxy(
    846     ICOMAdminCatalog* This,
    847     BSTR bstrApplIDOrName,
    848     BSTR bstrCLSIDOrProgID);
    849 void __RPC_STUB ICOMAdminCatalog_ImportComponent_Stub(
    850     IRpcStubBuffer* This,
    851     IRpcChannelBuffer* pRpcChannelBuffer,
    852     PRPC_MESSAGE pRpcMessage,
    853     DWORD* pdwStubPhase);
    854 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_InstallComponent_Proxy(
    855     ICOMAdminCatalog* This,
    856     BSTR bstrApplIDOrName,
    857     BSTR bstrDLL,
    858     BSTR bstrTLB,
    859     BSTR bstrPSDLL);
    860 void __RPC_STUB ICOMAdminCatalog_InstallComponent_Stub(
    861     IRpcStubBuffer* This,
    862     IRpcChannelBuffer* pRpcChannelBuffer,
    863     PRPC_MESSAGE pRpcMessage,
    864     DWORD* pdwStubPhase);
    865 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_ShutdownApplication_Proxy(
    866     ICOMAdminCatalog* This,
    867     BSTR bstrApplIDOrName);
    868 void __RPC_STUB ICOMAdminCatalog_ShutdownApplication_Stub(
    869     IRpcStubBuffer* This,
    870     IRpcChannelBuffer* pRpcChannelBuffer,
    871     PRPC_MESSAGE pRpcMessage,
    872     DWORD* pdwStubPhase);
    873 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_ExportApplication_Proxy(
    874     ICOMAdminCatalog* This,
    875     BSTR bstrApplIDOrName,
    876     BSTR bstrApplicationFile,
    877     LONG lOptions);
    878 void __RPC_STUB ICOMAdminCatalog_ExportApplication_Stub(
    879     IRpcStubBuffer* This,
    880     IRpcChannelBuffer* pRpcChannelBuffer,
    881     PRPC_MESSAGE pRpcMessage,
    882     DWORD* pdwStubPhase);
    883 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_InstallApplication_Proxy(
    884     ICOMAdminCatalog* This,
    885     BSTR bstrApplicationFile,
    886     BSTR bstrDestinationDirectory,
    887     LONG lOptions,
    888     BSTR bstrUserId,
    889     BSTR bstrPassword,
    890     BSTR bstrRSN);
    891 void __RPC_STUB ICOMAdminCatalog_InstallApplication_Stub(
    892     IRpcStubBuffer* This,
    893     IRpcChannelBuffer* pRpcChannelBuffer,
    894     PRPC_MESSAGE pRpcMessage,
    895     DWORD* pdwStubPhase);
    896 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_StopRouter_Proxy(
    897     ICOMAdminCatalog* This);
    898 void __RPC_STUB ICOMAdminCatalog_StopRouter_Stub(
    899     IRpcStubBuffer* This,
    900     IRpcChannelBuffer* pRpcChannelBuffer,
    901     PRPC_MESSAGE pRpcMessage,
    902     DWORD* pdwStubPhase);
    903 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_RefreshRouter_Proxy(
    904     ICOMAdminCatalog* This);
    905 void __RPC_STUB ICOMAdminCatalog_RefreshRouter_Stub(
    906     IRpcStubBuffer* This,
    907     IRpcChannelBuffer* pRpcChannelBuffer,
    908     PRPC_MESSAGE pRpcMessage,
    909     DWORD* pdwStubPhase);
    910 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_StartRouter_Proxy(
    911     ICOMAdminCatalog* This);
    912 void __RPC_STUB ICOMAdminCatalog_StartRouter_Stub(
    913     IRpcStubBuffer* This,
    914     IRpcChannelBuffer* pRpcChannelBuffer,
    915     PRPC_MESSAGE pRpcMessage,
    916     DWORD* pdwStubPhase);
    917 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_Reserved1_Proxy(
    918     ICOMAdminCatalog* This);
    919 void __RPC_STUB ICOMAdminCatalog_Reserved1_Stub(
    920     IRpcStubBuffer* This,
    921     IRpcChannelBuffer* pRpcChannelBuffer,
    922     PRPC_MESSAGE pRpcMessage,
    923     DWORD* pdwStubPhase);
    924 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_Reserved2_Proxy(
    925     ICOMAdminCatalog* This);
    926 void __RPC_STUB ICOMAdminCatalog_Reserved2_Stub(
    927     IRpcStubBuffer* This,
    928     IRpcChannelBuffer* pRpcChannelBuffer,
    929     PRPC_MESSAGE pRpcMessage,
    930     DWORD* pdwStubPhase);
    931 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_InstallMultipleComponents_Proxy(
    932     ICOMAdminCatalog* This,
    933     BSTR bstrApplIDOrName,
    934     SAFEARRAY **ppsaVarFileNames,
    935     SAFEARRAY **ppsaVarCLSIDs);
    936 void __RPC_STUB ICOMAdminCatalog_InstallMultipleComponents_Stub(
    937     IRpcStubBuffer* This,
    938     IRpcChannelBuffer* pRpcChannelBuffer,
    939     PRPC_MESSAGE pRpcMessage,
    940     DWORD* pdwStubPhase);
    941 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_GetMultipleComponentsInfo_Proxy(
    942     ICOMAdminCatalog* This,
    943     BSTR bstrApplIdOrName,
    944     SAFEARRAY **ppsaVarFileNames,
    945     SAFEARRAY **ppsaVarCLSIDs,
    946     SAFEARRAY **ppsaVarClassNames,
    947     SAFEARRAY **ppsaVarFileFlags,
    948     SAFEARRAY **ppsaVarComponentFlags);
    949 void __RPC_STUB ICOMAdminCatalog_GetMultipleComponentsInfo_Stub(
    950     IRpcStubBuffer* This,
    951     IRpcChannelBuffer* pRpcChannelBuffer,
    952     PRPC_MESSAGE pRpcMessage,
    953     DWORD* pdwStubPhase);
    954 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_RefreshComponents_Proxy(
    955     ICOMAdminCatalog* This);
    956 void __RPC_STUB ICOMAdminCatalog_RefreshComponents_Stub(
    957     IRpcStubBuffer* This,
    958     IRpcChannelBuffer* pRpcChannelBuffer,
    959     PRPC_MESSAGE pRpcMessage,
    960     DWORD* pdwStubPhase);
    961 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_BackupREGDB_Proxy(
    962     ICOMAdminCatalog* This,
    963     BSTR bstrBackupFilePath);
    964 void __RPC_STUB ICOMAdminCatalog_BackupREGDB_Stub(
    965     IRpcStubBuffer* This,
    966     IRpcChannelBuffer* pRpcChannelBuffer,
    967     PRPC_MESSAGE pRpcMessage,
    968     DWORD* pdwStubPhase);
    969 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_RestoreREGDB_Proxy(
    970     ICOMAdminCatalog* This,
    971     BSTR bstrBackupFilePath);
    972 void __RPC_STUB ICOMAdminCatalog_RestoreREGDB_Stub(
    973     IRpcStubBuffer* This,
    974     IRpcChannelBuffer* pRpcChannelBuffer,
    975     PRPC_MESSAGE pRpcMessage,
    976     DWORD* pdwStubPhase);
    977 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_QueryApplicationFile_Proxy(
    978     ICOMAdminCatalog* This,
    979     BSTR bstrApplicationFile,
    980     BSTR *pbstrApplicationName,
    981     BSTR *pbstrApplicationDescription,
    982     VARIANT_BOOL *pbHasUsers,
    983     VARIANT_BOOL *pbIsProxy,
    984     SAFEARRAY **ppsaVarFileNames);
    985 void __RPC_STUB ICOMAdminCatalog_QueryApplicationFile_Stub(
    986     IRpcStubBuffer* This,
    987     IRpcChannelBuffer* pRpcChannelBuffer,
    988     PRPC_MESSAGE pRpcMessage,
    989     DWORD* pdwStubPhase);
    990 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_StartApplication_Proxy(
    991     ICOMAdminCatalog* This,
    992     BSTR bstrApplIdOrName);
    993 void __RPC_STUB ICOMAdminCatalog_StartApplication_Stub(
    994     IRpcStubBuffer* This,
    995     IRpcChannelBuffer* pRpcChannelBuffer,
    996     PRPC_MESSAGE pRpcMessage,
    997     DWORD* pdwStubPhase);
    998 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_ServiceCheck_Proxy(
    999     ICOMAdminCatalog* This,
   1000     LONG lService,
   1001     LONG *plStatus);
   1002 void __RPC_STUB ICOMAdminCatalog_ServiceCheck_Stub(
   1003     IRpcStubBuffer* This,
   1004     IRpcChannelBuffer* pRpcChannelBuffer,
   1005     PRPC_MESSAGE pRpcMessage,
   1006     DWORD* pdwStubPhase);
   1007 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_InstallMultipleEventClasses_Proxy(
   1008     ICOMAdminCatalog* This,
   1009     BSTR bstrApplIdOrName,
   1010     SAFEARRAY **ppsaVarFileNames,
   1011     SAFEARRAY **ppsaVarCLSIDS);
   1012 void __RPC_STUB ICOMAdminCatalog_InstallMultipleEventClasses_Stub(
   1013     IRpcStubBuffer* This,
   1014     IRpcChannelBuffer* pRpcChannelBuffer,
   1015     PRPC_MESSAGE pRpcMessage,
   1016     DWORD* pdwStubPhase);
   1017 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_InstallEventClass_Proxy(
   1018     ICOMAdminCatalog* This,
   1019     BSTR bstrApplIdOrName,
   1020     BSTR bstrDLL,
   1021     BSTR bstrTLB,
   1022     BSTR bstrPSDLL);
   1023 void __RPC_STUB ICOMAdminCatalog_InstallEventClass_Stub(
   1024     IRpcStubBuffer* This,
   1025     IRpcChannelBuffer* pRpcChannelBuffer,
   1026     PRPC_MESSAGE pRpcMessage,
   1027     DWORD* pdwStubPhase);
   1028 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog_GetEventClassesForIID_Proxy(
   1029     ICOMAdminCatalog* This,
   1030     BSTR bstrIID,
   1031     SAFEARRAY **ppsaVarCLSIDs,
   1032     SAFEARRAY **ppsaVarProgIDs,
   1033     SAFEARRAY **ppsaVarDescriptions);
   1034 void __RPC_STUB ICOMAdminCatalog_GetEventClassesForIID_Stub(
   1035     IRpcStubBuffer* This,
   1036     IRpcChannelBuffer* pRpcChannelBuffer,
   1037     PRPC_MESSAGE pRpcMessage,
   1038     DWORD* pdwStubPhase);
   1039 
   1040 #endif  /* __ICOMAdminCatalog_INTERFACE_DEFINED__ */
   1041 
   1042 /*****************************************************************************
   1043  * ICOMAdminCatalog2 interface
   1044  */
   1045 #ifndef __ICOMAdminCatalog2_INTERFACE_DEFINED__
   1046 #define __ICOMAdminCatalog2_INTERFACE_DEFINED__
   1047 
   1048 DEFINE_GUID(IID_ICOMAdminCatalog2, 0x790c6e0b, 0x9194, 0x4cc9, 0x94,0x26, 0xa4,0x8a,0x63,0x18,0x56,0x96);
   1049 #if defined(__cplusplus) && !defined(CINTERFACE)
   1050 MIDL_INTERFACE("790c6e0b-9194-4cc9-9426-a48a63185696")
   1051 ICOMAdminCatalog2 : public ICOMAdminCatalog
   1052 {
   1053     virtual HRESULT STDMETHODCALLTYPE GetCollectionByQuery2(
   1054         BSTR bstrCollectionName,
   1055         VARIANT *pVarQueryStrings,
   1056         IDispatch **ppCatalogCollection) = 0;
   1057 
   1058     virtual HRESULT STDMETHODCALLTYPE GetApplicationInstanceIDFromProcessID(
   1059         LONG lProcessID,
   1060         BSTR *pbstrApplicationInstanceID) = 0;
   1061 
   1062     virtual HRESULT STDMETHODCALLTYPE ShutdownApplicationInstances(
   1063         VARIANT *pVarApplicationInstanceID) = 0;
   1064 
   1065     virtual HRESULT STDMETHODCALLTYPE PauseApplicationInstances(
   1066         VARIANT *pVarApplicationInstanceID) = 0;
   1067 
   1068     virtual HRESULT STDMETHODCALLTYPE ResumeApplicationInstances(
   1069         VARIANT *pVarApplicationInstanceID) = 0;
   1070 
   1071     virtual HRESULT STDMETHODCALLTYPE RecycleApplicationInstances(
   1072         VARIANT *pVarApplicationInstanceID,
   1073         LONG lReasonCode) = 0;
   1074 
   1075     virtual HRESULT STDMETHODCALLTYPE AreApplicationInstancesPaused(
   1076         VARIANT *pVarApplicationInstanceID,
   1077         VARIANT_BOOL *pVarBoolPaused) = 0;
   1078 
   1079     virtual HRESULT STDMETHODCALLTYPE DumpApplicationInstance(
   1080         BSTR bstrApplicationInstanceID,
   1081         BSTR bstrDirectory,
   1082         LONG lMaxImages,
   1083         BSTR *pbstrDumpFile) = 0;
   1084 
   1085     virtual HRESULT STDMETHODCALLTYPE get_IsApplicationInstanceDumpSupported(
   1086         VARIANT_BOOL *pVarBoolDumpSupported) = 0;
   1087 
   1088     virtual HRESULT STDMETHODCALLTYPE CreateServiceForApplication(
   1089         BSTR bstrApplicationIDOrName,
   1090         BSTR bstrServiceName,
   1091         BSTR bstrStartType,
   1092         BSTR bstrErrorControl,
   1093         BSTR bstrDependencies,
   1094         BSTR bstrRunAs,
   1095         BSTR bstrPassword,
   1096         VARIANT_BOOL bDesktopOk) = 0;
   1097 
   1098     virtual HRESULT STDMETHODCALLTYPE DeleteServiceForApplication(
   1099         BSTR bstrApplicationIDOrName) = 0;
   1100 
   1101     virtual HRESULT STDMETHODCALLTYPE GetPartitionID(
   1102         BSTR bstrApplicationIDOrName,
   1103         BSTR *pbstrPartitionID) = 0;
   1104 
   1105     virtual HRESULT STDMETHODCALLTYPE GetPartitionName(
   1106         BSTR bstrApplicationIDOrName,
   1107         BSTR *pbstrPartitionName) = 0;
   1108 
   1109     virtual HRESULT STDMETHODCALLTYPE put_CurrentPartition(
   1110         BSTR bstrPartitionIDOrName) = 0;
   1111 
   1112     virtual HRESULT STDMETHODCALLTYPE get_CurrentPartitionID(
   1113         BSTR *pbstrPartitionID) = 0;
   1114 
   1115     virtual HRESULT STDMETHODCALLTYPE get_CurrentPartitionName(
   1116         BSTR *pbstrPartitionName) = 0;
   1117 
   1118     virtual HRESULT STDMETHODCALLTYPE get_GlobalPartitionID(
   1119         BSTR *pbstrGlobalPartitionID) = 0;
   1120 
   1121     virtual HRESULT STDMETHODCALLTYPE FlushPartitionCache(
   1122         ) = 0;
   1123 
   1124     virtual HRESULT STDMETHODCALLTYPE CopyApplications(
   1125         BSTR bstrSourcePartitionIDOrName,
   1126         VARIANT *pVarApplicationID,
   1127         BSTR bstrDestinationPartitionIDOrName) = 0;
   1128 
   1129     virtual HRESULT STDMETHODCALLTYPE CopyComponents(
   1130         BSTR bstrSourceApplicationIDOrName,
   1131         VARIANT *pVarCLSIDOrProgID,
   1132         BSTR bstrDestinationApplicationIDOrName) = 0;
   1133 
   1134     virtual HRESULT STDMETHODCALLTYPE MoveComponents(
   1135         BSTR bstrSourceApplicationIDOrName,
   1136         VARIANT *pVarCLSIDOrProgID,
   1137         BSTR bstrDestinationApplicationIDOrName) = 0;
   1138 
   1139     virtual HRESULT STDMETHODCALLTYPE AliasComponent(
   1140         BSTR bstrSrcApplicationIDOrName,
   1141         BSTR bstrCLSIDOrProgID,
   1142         BSTR bstrDestApplicationIDOrName,
   1143         BSTR bstrNewProgId,
   1144         BSTR bstrNewClsid) = 0;
   1145 
   1146     virtual HRESULT STDMETHODCALLTYPE IsSafeToDelete(
   1147         BSTR bstrDllName,
   1148         COMAdminInUse *pCOMAdminInUse) = 0;
   1149 
   1150     virtual HRESULT STDMETHODCALLTYPE ImportUnconfiguredComponents(
   1151         BSTR bstrApplicationIDOrName,
   1152         VARIANT *pVarCLSIDOrProgID,
   1153         VARIANT *pVarComponentType) = 0;
   1154 
   1155     virtual HRESULT STDMETHODCALLTYPE PromoteUnconfiguredComponents(
   1156         BSTR bstrApplicationIDOrName,
   1157         VARIANT *pVarCLSIDOrProgID,
   1158         VARIANT *pVarComponentType) = 0;
   1159 
   1160     virtual HRESULT STDMETHODCALLTYPE ImportComponents(
   1161         BSTR bstrApplicationIDOrName,
   1162         VARIANT *pVarCLSIDOrProgID,
   1163         VARIANT *pVarComponentType) = 0;
   1164 
   1165     virtual HRESULT STDMETHODCALLTYPE get_Is64BitCatalogServer(
   1166         VARIANT_BOOL *pbIs64Bit) = 0;
   1167 
   1168     virtual HRESULT STDMETHODCALLTYPE ExportPartition(
   1169         BSTR bstrPartitionIDOrName,
   1170         BSTR bstrPartitionFileName,
   1171         LONG lOptions) = 0;
   1172 
   1173     virtual HRESULT STDMETHODCALLTYPE InstallPartition(
   1174         BSTR bstrFileName,
   1175         BSTR bstrDestDirectory,
   1176         LONG lOptions,
   1177         BSTR bstrUserID,
   1178         BSTR bstrPassword,
   1179         BSTR bstrRSN) = 0;
   1180 
   1181     virtual HRESULT STDMETHODCALLTYPE QueryApplicationFile2(
   1182         BSTR bstrApplicationFile,
   1183         IDispatch **ppFilesForImport) = 0;
   1184 
   1185     virtual HRESULT STDMETHODCALLTYPE GetComponentVersionCount(
   1186         BSTR bstrCLSIDOrProgID,
   1187         LONG *plVersionCount) = 0;
   1188 
   1189 };
   1190 #ifdef __CRT_UUID_DECL
   1191 __CRT_UUID_DECL(ICOMAdminCatalog2, 0x790c6e0b, 0x9194, 0x4cc9, 0x94,0x26, 0xa4,0x8a,0x63,0x18,0x56,0x96)
   1192 #endif
   1193 #else
   1194 typedef struct ICOMAdminCatalog2Vtbl {
   1195     BEGIN_INTERFACE
   1196 
   1197     /*** IUnknown methods ***/
   1198     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1199         ICOMAdminCatalog2* This,
   1200         REFIID riid,
   1201         void **ppvObject);
   1202 
   1203     ULONG (STDMETHODCALLTYPE *AddRef)(
   1204         ICOMAdminCatalog2* This);
   1205 
   1206     ULONG (STDMETHODCALLTYPE *Release)(
   1207         ICOMAdminCatalog2* This);
   1208 
   1209     /*** IDispatch methods ***/
   1210     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1211         ICOMAdminCatalog2* This,
   1212         UINT *pctinfo);
   1213 
   1214     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1215         ICOMAdminCatalog2* This,
   1216         UINT iTInfo,
   1217         LCID lcid,
   1218         ITypeInfo **ppTInfo);
   1219 
   1220     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1221         ICOMAdminCatalog2* This,
   1222         REFIID riid,
   1223         LPOLESTR *rgszNames,
   1224         UINT cNames,
   1225         LCID lcid,
   1226         DISPID *rgDispId);
   1227 
   1228     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1229         ICOMAdminCatalog2* This,
   1230         DISPID dispIdMember,
   1231         REFIID riid,
   1232         LCID lcid,
   1233         WORD wFlags,
   1234         DISPPARAMS *pDispParams,
   1235         VARIANT *pVarResult,
   1236         EXCEPINFO *pExcepInfo,
   1237         UINT *puArgErr);
   1238 
   1239     /*** ICOMAdminCatalog methods ***/
   1240     HRESULT (STDMETHODCALLTYPE *GetCollection)(
   1241         ICOMAdminCatalog2* This,
   1242         BSTR bstrCollName,
   1243         IDispatch **ppCatalogCollection);
   1244 
   1245     HRESULT (STDMETHODCALLTYPE *Connect)(
   1246         ICOMAdminCatalog2* This,
   1247         BSTR bstrCatalogServerName,
   1248         IDispatch **ppCatalogCollection);
   1249 
   1250     HRESULT (STDMETHODCALLTYPE *get_MajorVersion)(
   1251         ICOMAdminCatalog2* This,
   1252         LONG *plMajorVersion);
   1253 
   1254     HRESULT (STDMETHODCALLTYPE *get_MinorVersion)(
   1255         ICOMAdminCatalog2* This,
   1256         LONG *plMinorVersion);
   1257 
   1258     HRESULT (STDMETHODCALLTYPE *GetCollectionByQuery)(
   1259         ICOMAdminCatalog2* This,
   1260         BSTR bstrCollName,
   1261         SAFEARRAY **ppsaVarQuery,
   1262         IDispatch **ppCatalogCollection);
   1263 
   1264     HRESULT (STDMETHODCALLTYPE *ImportComponent)(
   1265         ICOMAdminCatalog2* This,
   1266         BSTR bstrApplIDOrName,
   1267         BSTR bstrCLSIDOrProgID);
   1268 
   1269     HRESULT (STDMETHODCALLTYPE *InstallComponent)(
   1270         ICOMAdminCatalog2* This,
   1271         BSTR bstrApplIDOrName,
   1272         BSTR bstrDLL,
   1273         BSTR bstrTLB,
   1274         BSTR bstrPSDLL);
   1275 
   1276     HRESULT (STDMETHODCALLTYPE *ShutdownApplication)(
   1277         ICOMAdminCatalog2* This,
   1278         BSTR bstrApplIDOrName);
   1279 
   1280     HRESULT (STDMETHODCALLTYPE *ExportApplication)(
   1281         ICOMAdminCatalog2* This,
   1282         BSTR bstrApplIDOrName,
   1283         BSTR bstrApplicationFile,
   1284         LONG lOptions);
   1285 
   1286     HRESULT (STDMETHODCALLTYPE *InstallApplication)(
   1287         ICOMAdminCatalog2* This,
   1288         BSTR bstrApplicationFile,
   1289         BSTR bstrDestinationDirectory,
   1290         LONG lOptions,
   1291         BSTR bstrUserId,
   1292         BSTR bstrPassword,
   1293         BSTR bstrRSN);
   1294 
   1295     HRESULT (STDMETHODCALLTYPE *StopRouter)(
   1296         ICOMAdminCatalog2* This);
   1297 
   1298     HRESULT (STDMETHODCALLTYPE *RefreshRouter)(
   1299         ICOMAdminCatalog2* This);
   1300 
   1301     HRESULT (STDMETHODCALLTYPE *StartRouter)(
   1302         ICOMAdminCatalog2* This);
   1303 
   1304     HRESULT (STDMETHODCALLTYPE *Reserved1)(
   1305         ICOMAdminCatalog2* This);
   1306 
   1307     HRESULT (STDMETHODCALLTYPE *Reserved2)(
   1308         ICOMAdminCatalog2* This);
   1309 
   1310     HRESULT (STDMETHODCALLTYPE *InstallMultipleComponents)(
   1311         ICOMAdminCatalog2* This,
   1312         BSTR bstrApplIDOrName,
   1313         SAFEARRAY **ppsaVarFileNames,
   1314         SAFEARRAY **ppsaVarCLSIDs);
   1315 
   1316     HRESULT (STDMETHODCALLTYPE *GetMultipleComponentsInfo)(
   1317         ICOMAdminCatalog2* This,
   1318         BSTR bstrApplIdOrName,
   1319         SAFEARRAY **ppsaVarFileNames,
   1320         SAFEARRAY **ppsaVarCLSIDs,
   1321         SAFEARRAY **ppsaVarClassNames,
   1322         SAFEARRAY **ppsaVarFileFlags,
   1323         SAFEARRAY **ppsaVarComponentFlags);
   1324 
   1325     HRESULT (STDMETHODCALLTYPE *RefreshComponents)(
   1326         ICOMAdminCatalog2* This);
   1327 
   1328     HRESULT (STDMETHODCALLTYPE *BackupREGDB)(
   1329         ICOMAdminCatalog2* This,
   1330         BSTR bstrBackupFilePath);
   1331 
   1332     HRESULT (STDMETHODCALLTYPE *RestoreREGDB)(
   1333         ICOMAdminCatalog2* This,
   1334         BSTR bstrBackupFilePath);
   1335 
   1336     HRESULT (STDMETHODCALLTYPE *QueryApplicationFile)(
   1337         ICOMAdminCatalog2* This,
   1338         BSTR bstrApplicationFile,
   1339         BSTR *pbstrApplicationName,
   1340         BSTR *pbstrApplicationDescription,
   1341         VARIANT_BOOL *pbHasUsers,
   1342         VARIANT_BOOL *pbIsProxy,
   1343         SAFEARRAY **ppsaVarFileNames);
   1344 
   1345     HRESULT (STDMETHODCALLTYPE *StartApplication)(
   1346         ICOMAdminCatalog2* This,
   1347         BSTR bstrApplIdOrName);
   1348 
   1349     HRESULT (STDMETHODCALLTYPE *ServiceCheck)(
   1350         ICOMAdminCatalog2* This,
   1351         LONG lService,
   1352         LONG *plStatus);
   1353 
   1354     HRESULT (STDMETHODCALLTYPE *InstallMultipleEventClasses)(
   1355         ICOMAdminCatalog2* This,
   1356         BSTR bstrApplIdOrName,
   1357         SAFEARRAY **ppsaVarFileNames,
   1358         SAFEARRAY **ppsaVarCLSIDS);
   1359 
   1360     HRESULT (STDMETHODCALLTYPE *InstallEventClass)(
   1361         ICOMAdminCatalog2* This,
   1362         BSTR bstrApplIdOrName,
   1363         BSTR bstrDLL,
   1364         BSTR bstrTLB,
   1365         BSTR bstrPSDLL);
   1366 
   1367     HRESULT (STDMETHODCALLTYPE *GetEventClassesForIID)(
   1368         ICOMAdminCatalog2* This,
   1369         BSTR bstrIID,
   1370         SAFEARRAY **ppsaVarCLSIDs,
   1371         SAFEARRAY **ppsaVarProgIDs,
   1372         SAFEARRAY **ppsaVarDescriptions);
   1373 
   1374     /*** ICOMAdminCatalog2 methods ***/
   1375     HRESULT (STDMETHODCALLTYPE *GetCollectionByQuery2)(
   1376         ICOMAdminCatalog2* This,
   1377         BSTR bstrCollectionName,
   1378         VARIANT *pVarQueryStrings,
   1379         IDispatch **ppCatalogCollection);
   1380 
   1381     HRESULT (STDMETHODCALLTYPE *GetApplicationInstanceIDFromProcessID)(
   1382         ICOMAdminCatalog2* This,
   1383         LONG lProcessID,
   1384         BSTR *pbstrApplicationInstanceID);
   1385 
   1386     HRESULT (STDMETHODCALLTYPE *ShutdownApplicationInstances)(
   1387         ICOMAdminCatalog2* This,
   1388         VARIANT *pVarApplicationInstanceID);
   1389 
   1390     HRESULT (STDMETHODCALLTYPE *PauseApplicationInstances)(
   1391         ICOMAdminCatalog2* This,
   1392         VARIANT *pVarApplicationInstanceID);
   1393 
   1394     HRESULT (STDMETHODCALLTYPE *ResumeApplicationInstances)(
   1395         ICOMAdminCatalog2* This,
   1396         VARIANT *pVarApplicationInstanceID);
   1397 
   1398     HRESULT (STDMETHODCALLTYPE *RecycleApplicationInstances)(
   1399         ICOMAdminCatalog2* This,
   1400         VARIANT *pVarApplicationInstanceID,
   1401         LONG lReasonCode);
   1402 
   1403     HRESULT (STDMETHODCALLTYPE *AreApplicationInstancesPaused)(
   1404         ICOMAdminCatalog2* This,
   1405         VARIANT *pVarApplicationInstanceID,
   1406         VARIANT_BOOL *pVarBoolPaused);
   1407 
   1408     HRESULT (STDMETHODCALLTYPE *DumpApplicationInstance)(
   1409         ICOMAdminCatalog2* This,
   1410         BSTR bstrApplicationInstanceID,
   1411         BSTR bstrDirectory,
   1412         LONG lMaxImages,
   1413         BSTR *pbstrDumpFile);
   1414 
   1415     HRESULT (STDMETHODCALLTYPE *get_IsApplicationInstanceDumpSupported)(
   1416         ICOMAdminCatalog2* This,
   1417         VARIANT_BOOL *pVarBoolDumpSupported);
   1418 
   1419     HRESULT (STDMETHODCALLTYPE *CreateServiceForApplication)(
   1420         ICOMAdminCatalog2* This,
   1421         BSTR bstrApplicationIDOrName,
   1422         BSTR bstrServiceName,
   1423         BSTR bstrStartType,
   1424         BSTR bstrErrorControl,
   1425         BSTR bstrDependencies,
   1426         BSTR bstrRunAs,
   1427         BSTR bstrPassword,
   1428         VARIANT_BOOL bDesktopOk);
   1429 
   1430     HRESULT (STDMETHODCALLTYPE *DeleteServiceForApplication)(
   1431         ICOMAdminCatalog2* This,
   1432         BSTR bstrApplicationIDOrName);
   1433 
   1434     HRESULT (STDMETHODCALLTYPE *GetPartitionID)(
   1435         ICOMAdminCatalog2* This,
   1436         BSTR bstrApplicationIDOrName,
   1437         BSTR *pbstrPartitionID);
   1438 
   1439     HRESULT (STDMETHODCALLTYPE *GetPartitionName)(
   1440         ICOMAdminCatalog2* This,
   1441         BSTR bstrApplicationIDOrName,
   1442         BSTR *pbstrPartitionName);
   1443 
   1444     HRESULT (STDMETHODCALLTYPE *put_CurrentPartition)(
   1445         ICOMAdminCatalog2* This,
   1446         BSTR bstrPartitionIDOrName);
   1447 
   1448     HRESULT (STDMETHODCALLTYPE *get_CurrentPartitionID)(
   1449         ICOMAdminCatalog2* This,
   1450         BSTR *pbstrPartitionID);
   1451 
   1452     HRESULT (STDMETHODCALLTYPE *get_CurrentPartitionName)(
   1453         ICOMAdminCatalog2* This,
   1454         BSTR *pbstrPartitionName);
   1455 
   1456     HRESULT (STDMETHODCALLTYPE *get_GlobalPartitionID)(
   1457         ICOMAdminCatalog2* This,
   1458         BSTR *pbstrGlobalPartitionID);
   1459 
   1460     HRESULT (STDMETHODCALLTYPE *FlushPartitionCache)(
   1461         ICOMAdminCatalog2* This);
   1462 
   1463     HRESULT (STDMETHODCALLTYPE *CopyApplications)(
   1464         ICOMAdminCatalog2* This,
   1465         BSTR bstrSourcePartitionIDOrName,
   1466         VARIANT *pVarApplicationID,
   1467         BSTR bstrDestinationPartitionIDOrName);
   1468 
   1469     HRESULT (STDMETHODCALLTYPE *CopyComponents)(
   1470         ICOMAdminCatalog2* This,
   1471         BSTR bstrSourceApplicationIDOrName,
   1472         VARIANT *pVarCLSIDOrProgID,
   1473         BSTR bstrDestinationApplicationIDOrName);
   1474 
   1475     HRESULT (STDMETHODCALLTYPE *MoveComponents)(
   1476         ICOMAdminCatalog2* This,
   1477         BSTR bstrSourceApplicationIDOrName,
   1478         VARIANT *pVarCLSIDOrProgID,
   1479         BSTR bstrDestinationApplicationIDOrName);
   1480 
   1481     HRESULT (STDMETHODCALLTYPE *AliasComponent)(
   1482         ICOMAdminCatalog2* This,
   1483         BSTR bstrSrcApplicationIDOrName,
   1484         BSTR bstrCLSIDOrProgID,
   1485         BSTR bstrDestApplicationIDOrName,
   1486         BSTR bstrNewProgId,
   1487         BSTR bstrNewClsid);
   1488 
   1489     HRESULT (STDMETHODCALLTYPE *IsSafeToDelete)(
   1490         ICOMAdminCatalog2* This,
   1491         BSTR bstrDllName,
   1492         COMAdminInUse *pCOMAdminInUse);
   1493 
   1494     HRESULT (STDMETHODCALLTYPE *ImportUnconfiguredComponents)(
   1495         ICOMAdminCatalog2* This,
   1496         BSTR bstrApplicationIDOrName,
   1497         VARIANT *pVarCLSIDOrProgID,
   1498         VARIANT *pVarComponentType);
   1499 
   1500     HRESULT (STDMETHODCALLTYPE *PromoteUnconfiguredComponents)(
   1501         ICOMAdminCatalog2* This,
   1502         BSTR bstrApplicationIDOrName,
   1503         VARIANT *pVarCLSIDOrProgID,
   1504         VARIANT *pVarComponentType);
   1505 
   1506     HRESULT (STDMETHODCALLTYPE *ImportComponents)(
   1507         ICOMAdminCatalog2* This,
   1508         BSTR bstrApplicationIDOrName,
   1509         VARIANT *pVarCLSIDOrProgID,
   1510         VARIANT *pVarComponentType);
   1511 
   1512     HRESULT (STDMETHODCALLTYPE *get_Is64BitCatalogServer)(
   1513         ICOMAdminCatalog2* This,
   1514         VARIANT_BOOL *pbIs64Bit);
   1515 
   1516     HRESULT (STDMETHODCALLTYPE *ExportPartition)(
   1517         ICOMAdminCatalog2* This,
   1518         BSTR bstrPartitionIDOrName,
   1519         BSTR bstrPartitionFileName,
   1520         LONG lOptions);
   1521 
   1522     HRESULT (STDMETHODCALLTYPE *InstallPartition)(
   1523         ICOMAdminCatalog2* This,
   1524         BSTR bstrFileName,
   1525         BSTR bstrDestDirectory,
   1526         LONG lOptions,
   1527         BSTR bstrUserID,
   1528         BSTR bstrPassword,
   1529         BSTR bstrRSN);
   1530 
   1531     HRESULT (STDMETHODCALLTYPE *QueryApplicationFile2)(
   1532         ICOMAdminCatalog2* This,
   1533         BSTR bstrApplicationFile,
   1534         IDispatch **ppFilesForImport);
   1535 
   1536     HRESULT (STDMETHODCALLTYPE *GetComponentVersionCount)(
   1537         ICOMAdminCatalog2* This,
   1538         BSTR bstrCLSIDOrProgID,
   1539         LONG *plVersionCount);
   1540 
   1541     END_INTERFACE
   1542 } ICOMAdminCatalog2Vtbl;
   1543 interface ICOMAdminCatalog2 {
   1544     CONST_VTBL ICOMAdminCatalog2Vtbl* lpVtbl;
   1545 };
   1546 
   1547 #ifdef COBJMACROS
   1548 #ifndef WIDL_C_INLINE_WRAPPERS
   1549 /*** IUnknown methods ***/
   1550 #define ICOMAdminCatalog2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1551 #define ICOMAdminCatalog2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1552 #define ICOMAdminCatalog2_Release(This) (This)->lpVtbl->Release(This)
   1553 /*** IDispatch methods ***/
   1554 #define ICOMAdminCatalog2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1555 #define ICOMAdminCatalog2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1556 #define ICOMAdminCatalog2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1557 #define ICOMAdminCatalog2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1558 /*** ICOMAdminCatalog methods ***/
   1559 #define ICOMAdminCatalog2_GetCollection(This,bstrCollName,ppCatalogCollection) (This)->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection)
   1560 #define ICOMAdminCatalog2_Connect(This,bstrCatalogServerName,ppCatalogCollection) (This)->lpVtbl->Connect(This,bstrCatalogServerName,ppCatalogCollection)
   1561 #define ICOMAdminCatalog2_get_MajorVersion(This,plMajorVersion) (This)->lpVtbl->get_MajorVersion(This,plMajorVersion)
   1562 #define ICOMAdminCatalog2_get_MinorVersion(This,plMinorVersion) (This)->lpVtbl->get_MinorVersion(This,plMinorVersion)
   1563 #define ICOMAdminCatalog2_GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection) (This)->lpVtbl->GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection)
   1564 #define ICOMAdminCatalog2_ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID) (This)->lpVtbl->ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID)
   1565 #define ICOMAdminCatalog2_InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL) (This)->lpVtbl->InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL)
   1566 #define ICOMAdminCatalog2_ShutdownApplication(This,bstrApplIDOrName) (This)->lpVtbl->ShutdownApplication(This,bstrApplIDOrName)
   1567 #define ICOMAdminCatalog2_ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions) (This)->lpVtbl->ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions)
   1568 #define ICOMAdminCatalog2_InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN) (This)->lpVtbl->InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN)
   1569 #define ICOMAdminCatalog2_StopRouter(This) (This)->lpVtbl->StopRouter(This)
   1570 #define ICOMAdminCatalog2_RefreshRouter(This) (This)->lpVtbl->RefreshRouter(This)
   1571 #define ICOMAdminCatalog2_StartRouter(This) (This)->lpVtbl->StartRouter(This)
   1572 #define ICOMAdminCatalog2_Reserved1(This) (This)->lpVtbl->Reserved1(This)
   1573 #define ICOMAdminCatalog2_Reserved2(This) (This)->lpVtbl->Reserved2(This)
   1574 #define ICOMAdminCatalog2_InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs) (This)->lpVtbl->InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs)
   1575 #define ICOMAdminCatalog2_GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags) (This)->lpVtbl->GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags)
   1576 #define ICOMAdminCatalog2_RefreshComponents(This) (This)->lpVtbl->RefreshComponents(This)
   1577 #define ICOMAdminCatalog2_BackupREGDB(This,bstrBackupFilePath) (This)->lpVtbl->BackupREGDB(This,bstrBackupFilePath)
   1578 #define ICOMAdminCatalog2_RestoreREGDB(This,bstrBackupFilePath) (This)->lpVtbl->RestoreREGDB(This,bstrBackupFilePath)
   1579 #define ICOMAdminCatalog2_QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames) (This)->lpVtbl->QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames)
   1580 #define ICOMAdminCatalog2_StartApplication(This,bstrApplIdOrName) (This)->lpVtbl->StartApplication(This,bstrApplIdOrName)
   1581 #define ICOMAdminCatalog2_ServiceCheck(This,lService,plStatus) (This)->lpVtbl->ServiceCheck(This,lService,plStatus)
   1582 #define ICOMAdminCatalog2_InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS) (This)->lpVtbl->InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS)
   1583 #define ICOMAdminCatalog2_InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL) (This)->lpVtbl->InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL)
   1584 #define ICOMAdminCatalog2_GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions) (This)->lpVtbl->GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions)
   1585 /*** ICOMAdminCatalog2 methods ***/
   1586 #define ICOMAdminCatalog2_GetCollectionByQuery2(This,bstrCollectionName,pVarQueryStrings,ppCatalogCollection) (This)->lpVtbl->GetCollectionByQuery2(This,bstrCollectionName,pVarQueryStrings,ppCatalogCollection)
   1587 #define ICOMAdminCatalog2_GetApplicationInstanceIDFromProcessID(This,lProcessID,pbstrApplicationInstanceID) (This)->lpVtbl->GetApplicationInstanceIDFromProcessID(This,lProcessID,pbstrApplicationInstanceID)
   1588 #define ICOMAdminCatalog2_ShutdownApplicationInstances(This,pVarApplicationInstanceID) (This)->lpVtbl->ShutdownApplicationInstances(This,pVarApplicationInstanceID)
   1589 #define ICOMAdminCatalog2_PauseApplicationInstances(This,pVarApplicationInstanceID) (This)->lpVtbl->PauseApplicationInstances(This,pVarApplicationInstanceID)
   1590 #define ICOMAdminCatalog2_ResumeApplicationInstances(This,pVarApplicationInstanceID) (This)->lpVtbl->ResumeApplicationInstances(This,pVarApplicationInstanceID)
   1591 #define ICOMAdminCatalog2_RecycleApplicationInstances(This,pVarApplicationInstanceID,lReasonCode) (This)->lpVtbl->RecycleApplicationInstances(This,pVarApplicationInstanceID,lReasonCode)
   1592 #define ICOMAdminCatalog2_AreApplicationInstancesPaused(This,pVarApplicationInstanceID,pVarBoolPaused) (This)->lpVtbl->AreApplicationInstancesPaused(This,pVarApplicationInstanceID,pVarBoolPaused)
   1593 #define ICOMAdminCatalog2_DumpApplicationInstance(This,bstrApplicationInstanceID,bstrDirectory,lMaxImages,pbstrDumpFile) (This)->lpVtbl->DumpApplicationInstance(This,bstrApplicationInstanceID,bstrDirectory,lMaxImages,pbstrDumpFile)
   1594 #define ICOMAdminCatalog2_get_IsApplicationInstanceDumpSupported(This,pVarBoolDumpSupported) (This)->lpVtbl->get_IsApplicationInstanceDumpSupported(This,pVarBoolDumpSupported)
   1595 #define ICOMAdminCatalog2_CreateServiceForApplication(This,bstrApplicationIDOrName,bstrServiceName,bstrStartType,bstrErrorControl,bstrDependencies,bstrRunAs,bstrPassword,bDesktopOk) (This)->lpVtbl->CreateServiceForApplication(This,bstrApplicationIDOrName,bstrServiceName,bstrStartType,bstrErrorControl,bstrDependencies,bstrRunAs,bstrPassword,bDesktopOk)
   1596 #define ICOMAdminCatalog2_DeleteServiceForApplication(This,bstrApplicationIDOrName) (This)->lpVtbl->DeleteServiceForApplication(This,bstrApplicationIDOrName)
   1597 #define ICOMAdminCatalog2_GetPartitionID(This,bstrApplicationIDOrName,pbstrPartitionID) (This)->lpVtbl->GetPartitionID(This,bstrApplicationIDOrName,pbstrPartitionID)
   1598 #define ICOMAdminCatalog2_GetPartitionName(This,bstrApplicationIDOrName,pbstrPartitionName) (This)->lpVtbl->GetPartitionName(This,bstrApplicationIDOrName,pbstrPartitionName)
   1599 #define ICOMAdminCatalog2_put_CurrentPartition(This,bstrPartitionIDOrName) (This)->lpVtbl->put_CurrentPartition(This,bstrPartitionIDOrName)
   1600 #define ICOMAdminCatalog2_get_CurrentPartitionID(This,pbstrPartitionID) (This)->lpVtbl->get_CurrentPartitionID(This,pbstrPartitionID)
   1601 #define ICOMAdminCatalog2_get_CurrentPartitionName(This,pbstrPartitionName) (This)->lpVtbl->get_CurrentPartitionName(This,pbstrPartitionName)
   1602 #define ICOMAdminCatalog2_get_GlobalPartitionID(This,pbstrGlobalPartitionID) (This)->lpVtbl->get_GlobalPartitionID(This,pbstrGlobalPartitionID)
   1603 #define ICOMAdminCatalog2_FlushPartitionCache(This) (This)->lpVtbl->FlushPartitionCache(This)
   1604 #define ICOMAdminCatalog2_CopyApplications(This,bstrSourcePartitionIDOrName,pVarApplicationID,bstrDestinationPartitionIDOrName) (This)->lpVtbl->CopyApplications(This,bstrSourcePartitionIDOrName,pVarApplicationID,bstrDestinationPartitionIDOrName)
   1605 #define ICOMAdminCatalog2_CopyComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName) (This)->lpVtbl->CopyComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName)
   1606 #define ICOMAdminCatalog2_MoveComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName) (This)->lpVtbl->MoveComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName)
   1607 #define ICOMAdminCatalog2_AliasComponent(This,bstrSrcApplicationIDOrName,bstrCLSIDOrProgID,bstrDestApplicationIDOrName,bstrNewProgId,bstrNewClsid) (This)->lpVtbl->AliasComponent(This,bstrSrcApplicationIDOrName,bstrCLSIDOrProgID,bstrDestApplicationIDOrName,bstrNewProgId,bstrNewClsid)
   1608 #define ICOMAdminCatalog2_IsSafeToDelete(This,bstrDllName,pCOMAdminInUse) (This)->lpVtbl->IsSafeToDelete(This,bstrDllName,pCOMAdminInUse)
   1609 #define ICOMAdminCatalog2_ImportUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType) (This)->lpVtbl->ImportUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType)
   1610 #define ICOMAdminCatalog2_PromoteUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType) (This)->lpVtbl->PromoteUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType)
   1611 #define ICOMAdminCatalog2_ImportComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType) (This)->lpVtbl->ImportComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType)
   1612 #define ICOMAdminCatalog2_get_Is64BitCatalogServer(This,pbIs64Bit) (This)->lpVtbl->get_Is64BitCatalogServer(This,pbIs64Bit)
   1613 #define ICOMAdminCatalog2_ExportPartition(This,bstrPartitionIDOrName,bstrPartitionFileName,lOptions) (This)->lpVtbl->ExportPartition(This,bstrPartitionIDOrName,bstrPartitionFileName,lOptions)
   1614 #define ICOMAdminCatalog2_InstallPartition(This,bstrFileName,bstrDestDirectory,lOptions,bstrUserID,bstrPassword,bstrRSN) (This)->lpVtbl->InstallPartition(This,bstrFileName,bstrDestDirectory,lOptions,bstrUserID,bstrPassword,bstrRSN)
   1615 #define ICOMAdminCatalog2_QueryApplicationFile2(This,bstrApplicationFile,ppFilesForImport) (This)->lpVtbl->QueryApplicationFile2(This,bstrApplicationFile,ppFilesForImport)
   1616 #define ICOMAdminCatalog2_GetComponentVersionCount(This,bstrCLSIDOrProgID,plVersionCount) (This)->lpVtbl->GetComponentVersionCount(This,bstrCLSIDOrProgID,plVersionCount)
   1617 #else
   1618 /*** IUnknown methods ***/
   1619 static FORCEINLINE HRESULT ICOMAdminCatalog2_QueryInterface(ICOMAdminCatalog2* This,REFIID riid,void **ppvObject) {
   1620     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1621 }
   1622 static FORCEINLINE ULONG ICOMAdminCatalog2_AddRef(ICOMAdminCatalog2* This) {
   1623     return This->lpVtbl->AddRef(This);
   1624 }
   1625 static FORCEINLINE ULONG ICOMAdminCatalog2_Release(ICOMAdminCatalog2* This) {
   1626     return This->lpVtbl->Release(This);
   1627 }
   1628 /*** IDispatch methods ***/
   1629 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetTypeInfoCount(ICOMAdminCatalog2* This,UINT *pctinfo) {
   1630     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1631 }
   1632 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetTypeInfo(ICOMAdminCatalog2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1633     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1634 }
   1635 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetIDsOfNames(ICOMAdminCatalog2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1636     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1637 }
   1638 static FORCEINLINE HRESULT ICOMAdminCatalog2_Invoke(ICOMAdminCatalog2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1639     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1640 }
   1641 /*** ICOMAdminCatalog methods ***/
   1642 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetCollection(ICOMAdminCatalog2* This,BSTR bstrCollName,IDispatch **ppCatalogCollection) {
   1643     return This->lpVtbl->GetCollection(This,bstrCollName,ppCatalogCollection);
   1644 }
   1645 static FORCEINLINE HRESULT ICOMAdminCatalog2_Connect(ICOMAdminCatalog2* This,BSTR bstrCatalogServerName,IDispatch **ppCatalogCollection) {
   1646     return This->lpVtbl->Connect(This,bstrCatalogServerName,ppCatalogCollection);
   1647 }
   1648 static FORCEINLINE HRESULT ICOMAdminCatalog2_get_MajorVersion(ICOMAdminCatalog2* This,LONG *plMajorVersion) {
   1649     return This->lpVtbl->get_MajorVersion(This,plMajorVersion);
   1650 }
   1651 static FORCEINLINE HRESULT ICOMAdminCatalog2_get_MinorVersion(ICOMAdminCatalog2* This,LONG *plMinorVersion) {
   1652     return This->lpVtbl->get_MinorVersion(This,plMinorVersion);
   1653 }
   1654 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetCollectionByQuery(ICOMAdminCatalog2* This,BSTR bstrCollName,SAFEARRAY **ppsaVarQuery,IDispatch **ppCatalogCollection) {
   1655     return This->lpVtbl->GetCollectionByQuery(This,bstrCollName,ppsaVarQuery,ppCatalogCollection);
   1656 }
   1657 static FORCEINLINE HRESULT ICOMAdminCatalog2_ImportComponent(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName,BSTR bstrCLSIDOrProgID) {
   1658     return This->lpVtbl->ImportComponent(This,bstrApplIDOrName,bstrCLSIDOrProgID);
   1659 }
   1660 static FORCEINLINE HRESULT ICOMAdminCatalog2_InstallComponent(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName,BSTR bstrDLL,BSTR bstrTLB,BSTR bstrPSDLL) {
   1661     return This->lpVtbl->InstallComponent(This,bstrApplIDOrName,bstrDLL,bstrTLB,bstrPSDLL);
   1662 }
   1663 static FORCEINLINE HRESULT ICOMAdminCatalog2_ShutdownApplication(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName) {
   1664     return This->lpVtbl->ShutdownApplication(This,bstrApplIDOrName);
   1665 }
   1666 static FORCEINLINE HRESULT ICOMAdminCatalog2_ExportApplication(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName,BSTR bstrApplicationFile,LONG lOptions) {
   1667     return This->lpVtbl->ExportApplication(This,bstrApplIDOrName,bstrApplicationFile,lOptions);
   1668 }
   1669 static FORCEINLINE HRESULT ICOMAdminCatalog2_InstallApplication(ICOMAdminCatalog2* This,BSTR bstrApplicationFile,BSTR bstrDestinationDirectory,LONG lOptions,BSTR bstrUserId,BSTR bstrPassword,BSTR bstrRSN) {
   1670     return This->lpVtbl->InstallApplication(This,bstrApplicationFile,bstrDestinationDirectory,lOptions,bstrUserId,bstrPassword,bstrRSN);
   1671 }
   1672 static FORCEINLINE HRESULT ICOMAdminCatalog2_StopRouter(ICOMAdminCatalog2* This) {
   1673     return This->lpVtbl->StopRouter(This);
   1674 }
   1675 static FORCEINLINE HRESULT ICOMAdminCatalog2_RefreshRouter(ICOMAdminCatalog2* This) {
   1676     return This->lpVtbl->RefreshRouter(This);
   1677 }
   1678 static FORCEINLINE HRESULT ICOMAdminCatalog2_StartRouter(ICOMAdminCatalog2* This) {
   1679     return This->lpVtbl->StartRouter(This);
   1680 }
   1681 static FORCEINLINE HRESULT ICOMAdminCatalog2_Reserved1(ICOMAdminCatalog2* This) {
   1682     return This->lpVtbl->Reserved1(This);
   1683 }
   1684 static FORCEINLINE HRESULT ICOMAdminCatalog2_Reserved2(ICOMAdminCatalog2* This) {
   1685     return This->lpVtbl->Reserved2(This);
   1686 }
   1687 static FORCEINLINE HRESULT ICOMAdminCatalog2_InstallMultipleComponents(ICOMAdminCatalog2* This,BSTR bstrApplIDOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDs) {
   1688     return This->lpVtbl->InstallMultipleComponents(This,bstrApplIDOrName,ppsaVarFileNames,ppsaVarCLSIDs);
   1689 }
   1690 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetMultipleComponentsInfo(ICOMAdminCatalog2* This,BSTR bstrApplIdOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDs,SAFEARRAY **ppsaVarClassNames,SAFEARRAY **ppsaVarFileFlags,SAFEARRAY **ppsaVarComponentFlags) {
   1691     return This->lpVtbl->GetMultipleComponentsInfo(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDs,ppsaVarClassNames,ppsaVarFileFlags,ppsaVarComponentFlags);
   1692 }
   1693 static FORCEINLINE HRESULT ICOMAdminCatalog2_RefreshComponents(ICOMAdminCatalog2* This) {
   1694     return This->lpVtbl->RefreshComponents(This);
   1695 }
   1696 static FORCEINLINE HRESULT ICOMAdminCatalog2_BackupREGDB(ICOMAdminCatalog2* This,BSTR bstrBackupFilePath) {
   1697     return This->lpVtbl->BackupREGDB(This,bstrBackupFilePath);
   1698 }
   1699 static FORCEINLINE HRESULT ICOMAdminCatalog2_RestoreREGDB(ICOMAdminCatalog2* This,BSTR bstrBackupFilePath) {
   1700     return This->lpVtbl->RestoreREGDB(This,bstrBackupFilePath);
   1701 }
   1702 static FORCEINLINE HRESULT ICOMAdminCatalog2_QueryApplicationFile(ICOMAdminCatalog2* This,BSTR bstrApplicationFile,BSTR *pbstrApplicationName,BSTR *pbstrApplicationDescription,VARIANT_BOOL *pbHasUsers,VARIANT_BOOL *pbIsProxy,SAFEARRAY **ppsaVarFileNames) {
   1703     return This->lpVtbl->QueryApplicationFile(This,bstrApplicationFile,pbstrApplicationName,pbstrApplicationDescription,pbHasUsers,pbIsProxy,ppsaVarFileNames);
   1704 }
   1705 static FORCEINLINE HRESULT ICOMAdminCatalog2_StartApplication(ICOMAdminCatalog2* This,BSTR bstrApplIdOrName) {
   1706     return This->lpVtbl->StartApplication(This,bstrApplIdOrName);
   1707 }
   1708 static FORCEINLINE HRESULT ICOMAdminCatalog2_ServiceCheck(ICOMAdminCatalog2* This,LONG lService,LONG *plStatus) {
   1709     return This->lpVtbl->ServiceCheck(This,lService,plStatus);
   1710 }
   1711 static FORCEINLINE HRESULT ICOMAdminCatalog2_InstallMultipleEventClasses(ICOMAdminCatalog2* This,BSTR bstrApplIdOrName,SAFEARRAY **ppsaVarFileNames,SAFEARRAY **ppsaVarCLSIDS) {
   1712     return This->lpVtbl->InstallMultipleEventClasses(This,bstrApplIdOrName,ppsaVarFileNames,ppsaVarCLSIDS);
   1713 }
   1714 static FORCEINLINE HRESULT ICOMAdminCatalog2_InstallEventClass(ICOMAdminCatalog2* This,BSTR bstrApplIdOrName,BSTR bstrDLL,BSTR bstrTLB,BSTR bstrPSDLL) {
   1715     return This->lpVtbl->InstallEventClass(This,bstrApplIdOrName,bstrDLL,bstrTLB,bstrPSDLL);
   1716 }
   1717 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetEventClassesForIID(ICOMAdminCatalog2* This,BSTR bstrIID,SAFEARRAY **ppsaVarCLSIDs,SAFEARRAY **ppsaVarProgIDs,SAFEARRAY **ppsaVarDescriptions) {
   1718     return This->lpVtbl->GetEventClassesForIID(This,bstrIID,ppsaVarCLSIDs,ppsaVarProgIDs,ppsaVarDescriptions);
   1719 }
   1720 /*** ICOMAdminCatalog2 methods ***/
   1721 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetCollectionByQuery2(ICOMAdminCatalog2* This,BSTR bstrCollectionName,VARIANT *pVarQueryStrings,IDispatch **ppCatalogCollection) {
   1722     return This->lpVtbl->GetCollectionByQuery2(This,bstrCollectionName,pVarQueryStrings,ppCatalogCollection);
   1723 }
   1724 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetApplicationInstanceIDFromProcessID(ICOMAdminCatalog2* This,LONG lProcessID,BSTR *pbstrApplicationInstanceID) {
   1725     return This->lpVtbl->GetApplicationInstanceIDFromProcessID(This,lProcessID,pbstrApplicationInstanceID);
   1726 }
   1727 static FORCEINLINE HRESULT ICOMAdminCatalog2_ShutdownApplicationInstances(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID) {
   1728     return This->lpVtbl->ShutdownApplicationInstances(This,pVarApplicationInstanceID);
   1729 }
   1730 static FORCEINLINE HRESULT ICOMAdminCatalog2_PauseApplicationInstances(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID) {
   1731     return This->lpVtbl->PauseApplicationInstances(This,pVarApplicationInstanceID);
   1732 }
   1733 static FORCEINLINE HRESULT ICOMAdminCatalog2_ResumeApplicationInstances(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID) {
   1734     return This->lpVtbl->ResumeApplicationInstances(This,pVarApplicationInstanceID);
   1735 }
   1736 static FORCEINLINE HRESULT ICOMAdminCatalog2_RecycleApplicationInstances(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID,LONG lReasonCode) {
   1737     return This->lpVtbl->RecycleApplicationInstances(This,pVarApplicationInstanceID,lReasonCode);
   1738 }
   1739 static FORCEINLINE HRESULT ICOMAdminCatalog2_AreApplicationInstancesPaused(ICOMAdminCatalog2* This,VARIANT *pVarApplicationInstanceID,VARIANT_BOOL *pVarBoolPaused) {
   1740     return This->lpVtbl->AreApplicationInstancesPaused(This,pVarApplicationInstanceID,pVarBoolPaused);
   1741 }
   1742 static FORCEINLINE HRESULT ICOMAdminCatalog2_DumpApplicationInstance(ICOMAdminCatalog2* This,BSTR bstrApplicationInstanceID,BSTR bstrDirectory,LONG lMaxImages,BSTR *pbstrDumpFile) {
   1743     return This->lpVtbl->DumpApplicationInstance(This,bstrApplicationInstanceID,bstrDirectory,lMaxImages,pbstrDumpFile);
   1744 }
   1745 static FORCEINLINE HRESULT ICOMAdminCatalog2_get_IsApplicationInstanceDumpSupported(ICOMAdminCatalog2* This,VARIANT_BOOL *pVarBoolDumpSupported) {
   1746     return This->lpVtbl->get_IsApplicationInstanceDumpSupported(This,pVarBoolDumpSupported);
   1747 }
   1748 static FORCEINLINE HRESULT ICOMAdminCatalog2_CreateServiceForApplication(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,BSTR bstrServiceName,BSTR bstrStartType,BSTR bstrErrorControl,BSTR bstrDependencies,BSTR bstrRunAs,BSTR bstrPassword,VARIANT_BOOL bDesktopOk) {
   1749     return This->lpVtbl->CreateServiceForApplication(This,bstrApplicationIDOrName,bstrServiceName,bstrStartType,bstrErrorControl,bstrDependencies,bstrRunAs,bstrPassword,bDesktopOk);
   1750 }
   1751 static FORCEINLINE HRESULT ICOMAdminCatalog2_DeleteServiceForApplication(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName) {
   1752     return This->lpVtbl->DeleteServiceForApplication(This,bstrApplicationIDOrName);
   1753 }
   1754 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetPartitionID(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,BSTR *pbstrPartitionID) {
   1755     return This->lpVtbl->GetPartitionID(This,bstrApplicationIDOrName,pbstrPartitionID);
   1756 }
   1757 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetPartitionName(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,BSTR *pbstrPartitionName) {
   1758     return This->lpVtbl->GetPartitionName(This,bstrApplicationIDOrName,pbstrPartitionName);
   1759 }
   1760 static FORCEINLINE HRESULT ICOMAdminCatalog2_put_CurrentPartition(ICOMAdminCatalog2* This,BSTR bstrPartitionIDOrName) {
   1761     return This->lpVtbl->put_CurrentPartition(This,bstrPartitionIDOrName);
   1762 }
   1763 static FORCEINLINE HRESULT ICOMAdminCatalog2_get_CurrentPartitionID(ICOMAdminCatalog2* This,BSTR *pbstrPartitionID) {
   1764     return This->lpVtbl->get_CurrentPartitionID(This,pbstrPartitionID);
   1765 }
   1766 static FORCEINLINE HRESULT ICOMAdminCatalog2_get_CurrentPartitionName(ICOMAdminCatalog2* This,BSTR *pbstrPartitionName) {
   1767     return This->lpVtbl->get_CurrentPartitionName(This,pbstrPartitionName);
   1768 }
   1769 static FORCEINLINE HRESULT ICOMAdminCatalog2_get_GlobalPartitionID(ICOMAdminCatalog2* This,BSTR *pbstrGlobalPartitionID) {
   1770     return This->lpVtbl->get_GlobalPartitionID(This,pbstrGlobalPartitionID);
   1771 }
   1772 static FORCEINLINE HRESULT ICOMAdminCatalog2_FlushPartitionCache(ICOMAdminCatalog2* This) {
   1773     return This->lpVtbl->FlushPartitionCache(This);
   1774 }
   1775 static FORCEINLINE HRESULT ICOMAdminCatalog2_CopyApplications(ICOMAdminCatalog2* This,BSTR bstrSourcePartitionIDOrName,VARIANT *pVarApplicationID,BSTR bstrDestinationPartitionIDOrName) {
   1776     return This->lpVtbl->CopyApplications(This,bstrSourcePartitionIDOrName,pVarApplicationID,bstrDestinationPartitionIDOrName);
   1777 }
   1778 static FORCEINLINE HRESULT ICOMAdminCatalog2_CopyComponents(ICOMAdminCatalog2* This,BSTR bstrSourceApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,BSTR bstrDestinationApplicationIDOrName) {
   1779     return This->lpVtbl->CopyComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName);
   1780 }
   1781 static FORCEINLINE HRESULT ICOMAdminCatalog2_MoveComponents(ICOMAdminCatalog2* This,BSTR bstrSourceApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,BSTR bstrDestinationApplicationIDOrName) {
   1782     return This->lpVtbl->MoveComponents(This,bstrSourceApplicationIDOrName,pVarCLSIDOrProgID,bstrDestinationApplicationIDOrName);
   1783 }
   1784 static FORCEINLINE HRESULT ICOMAdminCatalog2_AliasComponent(ICOMAdminCatalog2* This,BSTR bstrSrcApplicationIDOrName,BSTR bstrCLSIDOrProgID,BSTR bstrDestApplicationIDOrName,BSTR bstrNewProgId,BSTR bstrNewClsid) {
   1785     return This->lpVtbl->AliasComponent(This,bstrSrcApplicationIDOrName,bstrCLSIDOrProgID,bstrDestApplicationIDOrName,bstrNewProgId,bstrNewClsid);
   1786 }
   1787 static FORCEINLINE HRESULT ICOMAdminCatalog2_IsSafeToDelete(ICOMAdminCatalog2* This,BSTR bstrDllName,COMAdminInUse *pCOMAdminInUse) {
   1788     return This->lpVtbl->IsSafeToDelete(This,bstrDllName,pCOMAdminInUse);
   1789 }
   1790 static FORCEINLINE HRESULT ICOMAdminCatalog2_ImportUnconfiguredComponents(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,VARIANT *pVarComponentType) {
   1791     return This->lpVtbl->ImportUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType);
   1792 }
   1793 static FORCEINLINE HRESULT ICOMAdminCatalog2_PromoteUnconfiguredComponents(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,VARIANT *pVarComponentType) {
   1794     return This->lpVtbl->PromoteUnconfiguredComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType);
   1795 }
   1796 static FORCEINLINE HRESULT ICOMAdminCatalog2_ImportComponents(ICOMAdminCatalog2* This,BSTR bstrApplicationIDOrName,VARIANT *pVarCLSIDOrProgID,VARIANT *pVarComponentType) {
   1797     return This->lpVtbl->ImportComponents(This,bstrApplicationIDOrName,pVarCLSIDOrProgID,pVarComponentType);
   1798 }
   1799 static FORCEINLINE HRESULT ICOMAdminCatalog2_get_Is64BitCatalogServer(ICOMAdminCatalog2* This,VARIANT_BOOL *pbIs64Bit) {
   1800     return This->lpVtbl->get_Is64BitCatalogServer(This,pbIs64Bit);
   1801 }
   1802 static FORCEINLINE HRESULT ICOMAdminCatalog2_ExportPartition(ICOMAdminCatalog2* This,BSTR bstrPartitionIDOrName,BSTR bstrPartitionFileName,LONG lOptions) {
   1803     return This->lpVtbl->ExportPartition(This,bstrPartitionIDOrName,bstrPartitionFileName,lOptions);
   1804 }
   1805 static FORCEINLINE HRESULT ICOMAdminCatalog2_InstallPartition(ICOMAdminCatalog2* This,BSTR bstrFileName,BSTR bstrDestDirectory,LONG lOptions,BSTR bstrUserID,BSTR bstrPassword,BSTR bstrRSN) {
   1806     return This->lpVtbl->InstallPartition(This,bstrFileName,bstrDestDirectory,lOptions,bstrUserID,bstrPassword,bstrRSN);
   1807 }
   1808 static FORCEINLINE HRESULT ICOMAdminCatalog2_QueryApplicationFile2(ICOMAdminCatalog2* This,BSTR bstrApplicationFile,IDispatch **ppFilesForImport) {
   1809     return This->lpVtbl->QueryApplicationFile2(This,bstrApplicationFile,ppFilesForImport);
   1810 }
   1811 static FORCEINLINE HRESULT ICOMAdminCatalog2_GetComponentVersionCount(ICOMAdminCatalog2* This,BSTR bstrCLSIDOrProgID,LONG *plVersionCount) {
   1812     return This->lpVtbl->GetComponentVersionCount(This,bstrCLSIDOrProgID,plVersionCount);
   1813 }
   1814 #endif
   1815 #endif
   1816 
   1817 #endif
   1818 
   1819 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_GetCollectionByQuery2_Proxy(
   1820     ICOMAdminCatalog2* This,
   1821     BSTR bstrCollectionName,
   1822     VARIANT *pVarQueryStrings,
   1823     IDispatch **ppCatalogCollection);
   1824 void __RPC_STUB ICOMAdminCatalog2_GetCollectionByQuery2_Stub(
   1825     IRpcStubBuffer* This,
   1826     IRpcChannelBuffer* pRpcChannelBuffer,
   1827     PRPC_MESSAGE pRpcMessage,
   1828     DWORD* pdwStubPhase);
   1829 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_GetApplicationInstanceIDFromProcessID_Proxy(
   1830     ICOMAdminCatalog2* This,
   1831     LONG lProcessID,
   1832     BSTR *pbstrApplicationInstanceID);
   1833 void __RPC_STUB ICOMAdminCatalog2_GetApplicationInstanceIDFromProcessID_Stub(
   1834     IRpcStubBuffer* This,
   1835     IRpcChannelBuffer* pRpcChannelBuffer,
   1836     PRPC_MESSAGE pRpcMessage,
   1837     DWORD* pdwStubPhase);
   1838 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_ShutdownApplicationInstances_Proxy(
   1839     ICOMAdminCatalog2* This,
   1840     VARIANT *pVarApplicationInstanceID);
   1841 void __RPC_STUB ICOMAdminCatalog2_ShutdownApplicationInstances_Stub(
   1842     IRpcStubBuffer* This,
   1843     IRpcChannelBuffer* pRpcChannelBuffer,
   1844     PRPC_MESSAGE pRpcMessage,
   1845     DWORD* pdwStubPhase);
   1846 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_PauseApplicationInstances_Proxy(
   1847     ICOMAdminCatalog2* This,
   1848     VARIANT *pVarApplicationInstanceID);
   1849 void __RPC_STUB ICOMAdminCatalog2_PauseApplicationInstances_Stub(
   1850     IRpcStubBuffer* This,
   1851     IRpcChannelBuffer* pRpcChannelBuffer,
   1852     PRPC_MESSAGE pRpcMessage,
   1853     DWORD* pdwStubPhase);
   1854 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_ResumeApplicationInstances_Proxy(
   1855     ICOMAdminCatalog2* This,
   1856     VARIANT *pVarApplicationInstanceID);
   1857 void __RPC_STUB ICOMAdminCatalog2_ResumeApplicationInstances_Stub(
   1858     IRpcStubBuffer* This,
   1859     IRpcChannelBuffer* pRpcChannelBuffer,
   1860     PRPC_MESSAGE pRpcMessage,
   1861     DWORD* pdwStubPhase);
   1862 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_RecycleApplicationInstances_Proxy(
   1863     ICOMAdminCatalog2* This,
   1864     VARIANT *pVarApplicationInstanceID,
   1865     LONG lReasonCode);
   1866 void __RPC_STUB ICOMAdminCatalog2_RecycleApplicationInstances_Stub(
   1867     IRpcStubBuffer* This,
   1868     IRpcChannelBuffer* pRpcChannelBuffer,
   1869     PRPC_MESSAGE pRpcMessage,
   1870     DWORD* pdwStubPhase);
   1871 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_AreApplicationInstancesPaused_Proxy(
   1872     ICOMAdminCatalog2* This,
   1873     VARIANT *pVarApplicationInstanceID,
   1874     VARIANT_BOOL *pVarBoolPaused);
   1875 void __RPC_STUB ICOMAdminCatalog2_AreApplicationInstancesPaused_Stub(
   1876     IRpcStubBuffer* This,
   1877     IRpcChannelBuffer* pRpcChannelBuffer,
   1878     PRPC_MESSAGE pRpcMessage,
   1879     DWORD* pdwStubPhase);
   1880 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_DumpApplicationInstance_Proxy(
   1881     ICOMAdminCatalog2* This,
   1882     BSTR bstrApplicationInstanceID,
   1883     BSTR bstrDirectory,
   1884     LONG lMaxImages,
   1885     BSTR *pbstrDumpFile);
   1886 void __RPC_STUB ICOMAdminCatalog2_DumpApplicationInstance_Stub(
   1887     IRpcStubBuffer* This,
   1888     IRpcChannelBuffer* pRpcChannelBuffer,
   1889     PRPC_MESSAGE pRpcMessage,
   1890     DWORD* pdwStubPhase);
   1891 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_get_IsApplicationInstanceDumpSupported_Proxy(
   1892     ICOMAdminCatalog2* This,
   1893     VARIANT_BOOL *pVarBoolDumpSupported);
   1894 void __RPC_STUB ICOMAdminCatalog2_get_IsApplicationInstanceDumpSupported_Stub(
   1895     IRpcStubBuffer* This,
   1896     IRpcChannelBuffer* pRpcChannelBuffer,
   1897     PRPC_MESSAGE pRpcMessage,
   1898     DWORD* pdwStubPhase);
   1899 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_CreateServiceForApplication_Proxy(
   1900     ICOMAdminCatalog2* This,
   1901     BSTR bstrApplicationIDOrName,
   1902     BSTR bstrServiceName,
   1903     BSTR bstrStartType,
   1904     BSTR bstrErrorControl,
   1905     BSTR bstrDependencies,
   1906     BSTR bstrRunAs,
   1907     BSTR bstrPassword,
   1908     VARIANT_BOOL bDesktopOk);
   1909 void __RPC_STUB ICOMAdminCatalog2_CreateServiceForApplication_Stub(
   1910     IRpcStubBuffer* This,
   1911     IRpcChannelBuffer* pRpcChannelBuffer,
   1912     PRPC_MESSAGE pRpcMessage,
   1913     DWORD* pdwStubPhase);
   1914 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_DeleteServiceForApplication_Proxy(
   1915     ICOMAdminCatalog2* This,
   1916     BSTR bstrApplicationIDOrName);
   1917 void __RPC_STUB ICOMAdminCatalog2_DeleteServiceForApplication_Stub(
   1918     IRpcStubBuffer* This,
   1919     IRpcChannelBuffer* pRpcChannelBuffer,
   1920     PRPC_MESSAGE pRpcMessage,
   1921     DWORD* pdwStubPhase);
   1922 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_GetPartitionID_Proxy(
   1923     ICOMAdminCatalog2* This,
   1924     BSTR bstrApplicationIDOrName,
   1925     BSTR *pbstrPartitionID);
   1926 void __RPC_STUB ICOMAdminCatalog2_GetPartitionID_Stub(
   1927     IRpcStubBuffer* This,
   1928     IRpcChannelBuffer* pRpcChannelBuffer,
   1929     PRPC_MESSAGE pRpcMessage,
   1930     DWORD* pdwStubPhase);
   1931 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_GetPartitionName_Proxy(
   1932     ICOMAdminCatalog2* This,
   1933     BSTR bstrApplicationIDOrName,
   1934     BSTR *pbstrPartitionName);
   1935 void __RPC_STUB ICOMAdminCatalog2_GetPartitionName_Stub(
   1936     IRpcStubBuffer* This,
   1937     IRpcChannelBuffer* pRpcChannelBuffer,
   1938     PRPC_MESSAGE pRpcMessage,
   1939     DWORD* pdwStubPhase);
   1940 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_put_CurrentPartition_Proxy(
   1941     ICOMAdminCatalog2* This,
   1942     BSTR bstrPartitionIDOrName);
   1943 void __RPC_STUB ICOMAdminCatalog2_put_CurrentPartition_Stub(
   1944     IRpcStubBuffer* This,
   1945     IRpcChannelBuffer* pRpcChannelBuffer,
   1946     PRPC_MESSAGE pRpcMessage,
   1947     DWORD* pdwStubPhase);
   1948 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_get_CurrentPartitionID_Proxy(
   1949     ICOMAdminCatalog2* This,
   1950     BSTR *pbstrPartitionID);
   1951 void __RPC_STUB ICOMAdminCatalog2_get_CurrentPartitionID_Stub(
   1952     IRpcStubBuffer* This,
   1953     IRpcChannelBuffer* pRpcChannelBuffer,
   1954     PRPC_MESSAGE pRpcMessage,
   1955     DWORD* pdwStubPhase);
   1956 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_get_CurrentPartitionName_Proxy(
   1957     ICOMAdminCatalog2* This,
   1958     BSTR *pbstrPartitionName);
   1959 void __RPC_STUB ICOMAdminCatalog2_get_CurrentPartitionName_Stub(
   1960     IRpcStubBuffer* This,
   1961     IRpcChannelBuffer* pRpcChannelBuffer,
   1962     PRPC_MESSAGE pRpcMessage,
   1963     DWORD* pdwStubPhase);
   1964 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_get_GlobalPartitionID_Proxy(
   1965     ICOMAdminCatalog2* This,
   1966     BSTR *pbstrGlobalPartitionID);
   1967 void __RPC_STUB ICOMAdminCatalog2_get_GlobalPartitionID_Stub(
   1968     IRpcStubBuffer* This,
   1969     IRpcChannelBuffer* pRpcChannelBuffer,
   1970     PRPC_MESSAGE pRpcMessage,
   1971     DWORD* pdwStubPhase);
   1972 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_FlushPartitionCache_Proxy(
   1973     ICOMAdminCatalog2* This);
   1974 void __RPC_STUB ICOMAdminCatalog2_FlushPartitionCache_Stub(
   1975     IRpcStubBuffer* This,
   1976     IRpcChannelBuffer* pRpcChannelBuffer,
   1977     PRPC_MESSAGE pRpcMessage,
   1978     DWORD* pdwStubPhase);
   1979 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_CopyApplications_Proxy(
   1980     ICOMAdminCatalog2* This,
   1981     BSTR bstrSourcePartitionIDOrName,
   1982     VARIANT *pVarApplicationID,
   1983     BSTR bstrDestinationPartitionIDOrName);
   1984 void __RPC_STUB ICOMAdminCatalog2_CopyApplications_Stub(
   1985     IRpcStubBuffer* This,
   1986     IRpcChannelBuffer* pRpcChannelBuffer,
   1987     PRPC_MESSAGE pRpcMessage,
   1988     DWORD* pdwStubPhase);
   1989 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_CopyComponents_Proxy(
   1990     ICOMAdminCatalog2* This,
   1991     BSTR bstrSourceApplicationIDOrName,
   1992     VARIANT *pVarCLSIDOrProgID,
   1993     BSTR bstrDestinationApplicationIDOrName);
   1994 void __RPC_STUB ICOMAdminCatalog2_CopyComponents_Stub(
   1995     IRpcStubBuffer* This,
   1996     IRpcChannelBuffer* pRpcChannelBuffer,
   1997     PRPC_MESSAGE pRpcMessage,
   1998     DWORD* pdwStubPhase);
   1999 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_MoveComponents_Proxy(
   2000     ICOMAdminCatalog2* This,
   2001     BSTR bstrSourceApplicationIDOrName,
   2002     VARIANT *pVarCLSIDOrProgID,
   2003     BSTR bstrDestinationApplicationIDOrName);
   2004 void __RPC_STUB ICOMAdminCatalog2_MoveComponents_Stub(
   2005     IRpcStubBuffer* This,
   2006     IRpcChannelBuffer* pRpcChannelBuffer,
   2007     PRPC_MESSAGE pRpcMessage,
   2008     DWORD* pdwStubPhase);
   2009 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_AliasComponent_Proxy(
   2010     ICOMAdminCatalog2* This,
   2011     BSTR bstrSrcApplicationIDOrName,
   2012     BSTR bstrCLSIDOrProgID,
   2013     BSTR bstrDestApplicationIDOrName,
   2014     BSTR bstrNewProgId,
   2015     BSTR bstrNewClsid);
   2016 void __RPC_STUB ICOMAdminCatalog2_AliasComponent_Stub(
   2017     IRpcStubBuffer* This,
   2018     IRpcChannelBuffer* pRpcChannelBuffer,
   2019     PRPC_MESSAGE pRpcMessage,
   2020     DWORD* pdwStubPhase);
   2021 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_IsSafeToDelete_Proxy(
   2022     ICOMAdminCatalog2* This,
   2023     BSTR bstrDllName,
   2024     COMAdminInUse *pCOMAdminInUse);
   2025 void __RPC_STUB ICOMAdminCatalog2_IsSafeToDelete_Stub(
   2026     IRpcStubBuffer* This,
   2027     IRpcChannelBuffer* pRpcChannelBuffer,
   2028     PRPC_MESSAGE pRpcMessage,
   2029     DWORD* pdwStubPhase);
   2030 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_ImportUnconfiguredComponents_Proxy(
   2031     ICOMAdminCatalog2* This,
   2032     BSTR bstrApplicationIDOrName,
   2033     VARIANT *pVarCLSIDOrProgID,
   2034     VARIANT *pVarComponentType);
   2035 void __RPC_STUB ICOMAdminCatalog2_ImportUnconfiguredComponents_Stub(
   2036     IRpcStubBuffer* This,
   2037     IRpcChannelBuffer* pRpcChannelBuffer,
   2038     PRPC_MESSAGE pRpcMessage,
   2039     DWORD* pdwStubPhase);
   2040 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_PromoteUnconfiguredComponents_Proxy(
   2041     ICOMAdminCatalog2* This,
   2042     BSTR bstrApplicationIDOrName,
   2043     VARIANT *pVarCLSIDOrProgID,
   2044     VARIANT *pVarComponentType);
   2045 void __RPC_STUB ICOMAdminCatalog2_PromoteUnconfiguredComponents_Stub(
   2046     IRpcStubBuffer* This,
   2047     IRpcChannelBuffer* pRpcChannelBuffer,
   2048     PRPC_MESSAGE pRpcMessage,
   2049     DWORD* pdwStubPhase);
   2050 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_ImportComponents_Proxy(
   2051     ICOMAdminCatalog2* This,
   2052     BSTR bstrApplicationIDOrName,
   2053     VARIANT *pVarCLSIDOrProgID,
   2054     VARIANT *pVarComponentType);
   2055 void __RPC_STUB ICOMAdminCatalog2_ImportComponents_Stub(
   2056     IRpcStubBuffer* This,
   2057     IRpcChannelBuffer* pRpcChannelBuffer,
   2058     PRPC_MESSAGE pRpcMessage,
   2059     DWORD* pdwStubPhase);
   2060 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_get_Is64BitCatalogServer_Proxy(
   2061     ICOMAdminCatalog2* This,
   2062     VARIANT_BOOL *pbIs64Bit);
   2063 void __RPC_STUB ICOMAdminCatalog2_get_Is64BitCatalogServer_Stub(
   2064     IRpcStubBuffer* This,
   2065     IRpcChannelBuffer* pRpcChannelBuffer,
   2066     PRPC_MESSAGE pRpcMessage,
   2067     DWORD* pdwStubPhase);
   2068 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_ExportPartition_Proxy(
   2069     ICOMAdminCatalog2* This,
   2070     BSTR bstrPartitionIDOrName,
   2071     BSTR bstrPartitionFileName,
   2072     LONG lOptions);
   2073 void __RPC_STUB ICOMAdminCatalog2_ExportPartition_Stub(
   2074     IRpcStubBuffer* This,
   2075     IRpcChannelBuffer* pRpcChannelBuffer,
   2076     PRPC_MESSAGE pRpcMessage,
   2077     DWORD* pdwStubPhase);
   2078 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_InstallPartition_Proxy(
   2079     ICOMAdminCatalog2* This,
   2080     BSTR bstrFileName,
   2081     BSTR bstrDestDirectory,
   2082     LONG lOptions,
   2083     BSTR bstrUserID,
   2084     BSTR bstrPassword,
   2085     BSTR bstrRSN);
   2086 void __RPC_STUB ICOMAdminCatalog2_InstallPartition_Stub(
   2087     IRpcStubBuffer* This,
   2088     IRpcChannelBuffer* pRpcChannelBuffer,
   2089     PRPC_MESSAGE pRpcMessage,
   2090     DWORD* pdwStubPhase);
   2091 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_QueryApplicationFile2_Proxy(
   2092     ICOMAdminCatalog2* This,
   2093     BSTR bstrApplicationFile,
   2094     IDispatch **ppFilesForImport);
   2095 void __RPC_STUB ICOMAdminCatalog2_QueryApplicationFile2_Stub(
   2096     IRpcStubBuffer* This,
   2097     IRpcChannelBuffer* pRpcChannelBuffer,
   2098     PRPC_MESSAGE pRpcMessage,
   2099     DWORD* pdwStubPhase);
   2100 HRESULT STDMETHODCALLTYPE ICOMAdminCatalog2_GetComponentVersionCount_Proxy(
   2101     ICOMAdminCatalog2* This,
   2102     BSTR bstrCLSIDOrProgID,
   2103     LONG *plVersionCount);
   2104 void __RPC_STUB ICOMAdminCatalog2_GetComponentVersionCount_Stub(
   2105     IRpcStubBuffer* This,
   2106     IRpcChannelBuffer* pRpcChannelBuffer,
   2107     PRPC_MESSAGE pRpcMessage,
   2108     DWORD* pdwStubPhase);
   2109 
   2110 #endif  /* __ICOMAdminCatalog2_INTERFACE_DEFINED__ */
   2111 
   2112 /*****************************************************************************
   2113  * ICatalogObject interface
   2114  */
   2115 #ifndef __ICatalogObject_INTERFACE_DEFINED__
   2116 #define __ICatalogObject_INTERFACE_DEFINED__
   2117 
   2118 DEFINE_GUID(IID_ICatalogObject, 0x6eb22871, 0x8a19, 0x11d0, 0x81,0xb6, 0x00,0xa0,0xc9,0x23,0x1c,0x29);
   2119 #if defined(__cplusplus) && !defined(CINTERFACE)
   2120 MIDL_INTERFACE("6eb22871-8a19-11d0-81b6-00a0c9231c29")
   2121 ICatalogObject : public IDispatch
   2122 {
   2123     virtual HRESULT STDMETHODCALLTYPE get_Value(
   2124         BSTR bstrPropName,
   2125         VARIANT *pvarRetVal) = 0;
   2126 
   2127     virtual HRESULT STDMETHODCALLTYPE put_Value(
   2128         BSTR bstrPropName,
   2129         VARIANT val) = 0;
   2130 
   2131     virtual HRESULT STDMETHODCALLTYPE get_Key(
   2132         VARIANT *pvarRetVal) = 0;
   2133 
   2134     virtual HRESULT STDMETHODCALLTYPE get_Name(
   2135         VARIANT *pvarRetVal) = 0;
   2136 
   2137     virtual HRESULT STDMETHODCALLTYPE IsPropertyReadOnly(
   2138         BSTR bstrPropName,
   2139         VARIANT_BOOL *pbRetVal) = 0;
   2140 
   2141     virtual HRESULT STDMETHODCALLTYPE get_Valid(
   2142         VARIANT_BOOL *pbRetVal) = 0;
   2143 
   2144     virtual HRESULT STDMETHODCALLTYPE IsPropertyWriteOnly(
   2145         BSTR bstrPropName,
   2146         VARIANT_BOOL *pbRetVal) = 0;
   2147 
   2148 };
   2149 #ifdef __CRT_UUID_DECL
   2150 __CRT_UUID_DECL(ICatalogObject, 0x6eb22871, 0x8a19, 0x11d0, 0x81,0xb6, 0x00,0xa0,0xc9,0x23,0x1c,0x29)
   2151 #endif
   2152 #else
   2153 typedef struct ICatalogObjectVtbl {
   2154     BEGIN_INTERFACE
   2155 
   2156     /*** IUnknown methods ***/
   2157     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2158         ICatalogObject* This,
   2159         REFIID riid,
   2160         void **ppvObject);
   2161 
   2162     ULONG (STDMETHODCALLTYPE *AddRef)(
   2163         ICatalogObject* This);
   2164 
   2165     ULONG (STDMETHODCALLTYPE *Release)(
   2166         ICatalogObject* This);
   2167 
   2168     /*** IDispatch methods ***/
   2169     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2170         ICatalogObject* This,
   2171         UINT *pctinfo);
   2172 
   2173     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2174         ICatalogObject* This,
   2175         UINT iTInfo,
   2176         LCID lcid,
   2177         ITypeInfo **ppTInfo);
   2178 
   2179     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2180         ICatalogObject* This,
   2181         REFIID riid,
   2182         LPOLESTR *rgszNames,
   2183         UINT cNames,
   2184         LCID lcid,
   2185         DISPID *rgDispId);
   2186 
   2187     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2188         ICatalogObject* This,
   2189         DISPID dispIdMember,
   2190         REFIID riid,
   2191         LCID lcid,
   2192         WORD wFlags,
   2193         DISPPARAMS *pDispParams,
   2194         VARIANT *pVarResult,
   2195         EXCEPINFO *pExcepInfo,
   2196         UINT *puArgErr);
   2197 
   2198     /*** ICatalogObject methods ***/
   2199     HRESULT (STDMETHODCALLTYPE *get_Value)(
   2200         ICatalogObject* This,
   2201         BSTR bstrPropName,
   2202         VARIANT *pvarRetVal);
   2203 
   2204     HRESULT (STDMETHODCALLTYPE *put_Value)(
   2205         ICatalogObject* This,
   2206         BSTR bstrPropName,
   2207         VARIANT val);
   2208 
   2209     HRESULT (STDMETHODCALLTYPE *get_Key)(
   2210         ICatalogObject* This,
   2211         VARIANT *pvarRetVal);
   2212 
   2213     HRESULT (STDMETHODCALLTYPE *get_Name)(
   2214         ICatalogObject* This,
   2215         VARIANT *pvarRetVal);
   2216 
   2217     HRESULT (STDMETHODCALLTYPE *IsPropertyReadOnly)(
   2218         ICatalogObject* This,
   2219         BSTR bstrPropName,
   2220         VARIANT_BOOL *pbRetVal);
   2221 
   2222     HRESULT (STDMETHODCALLTYPE *get_Valid)(
   2223         ICatalogObject* This,
   2224         VARIANT_BOOL *pbRetVal);
   2225 
   2226     HRESULT (STDMETHODCALLTYPE *IsPropertyWriteOnly)(
   2227         ICatalogObject* This,
   2228         BSTR bstrPropName,
   2229         VARIANT_BOOL *pbRetVal);
   2230 
   2231     END_INTERFACE
   2232 } ICatalogObjectVtbl;
   2233 interface ICatalogObject {
   2234     CONST_VTBL ICatalogObjectVtbl* lpVtbl;
   2235 };
   2236 
   2237 #ifdef COBJMACROS
   2238 #ifndef WIDL_C_INLINE_WRAPPERS
   2239 /*** IUnknown methods ***/
   2240 #define ICatalogObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2241 #define ICatalogObject_AddRef(This) (This)->lpVtbl->AddRef(This)
   2242 #define ICatalogObject_Release(This) (This)->lpVtbl->Release(This)
   2243 /*** IDispatch methods ***/
   2244 #define ICatalogObject_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2245 #define ICatalogObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2246 #define ICatalogObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2247 #define ICatalogObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2248 /*** ICatalogObject methods ***/
   2249 #define ICatalogObject_get_Value(This,bstrPropName,pvarRetVal) (This)->lpVtbl->get_Value(This,bstrPropName,pvarRetVal)
   2250 #define ICatalogObject_put_Value(This,bstrPropName,val) (This)->lpVtbl->put_Value(This,bstrPropName,val)
   2251 #define ICatalogObject_get_Key(This,pvarRetVal) (This)->lpVtbl->get_Key(This,pvarRetVal)
   2252 #define ICatalogObject_get_Name(This,pvarRetVal) (This)->lpVtbl->get_Name(This,pvarRetVal)
   2253 #define ICatalogObject_IsPropertyReadOnly(This,bstrPropName,pbRetVal) (This)->lpVtbl->IsPropertyReadOnly(This,bstrPropName,pbRetVal)
   2254 #define ICatalogObject_get_Valid(This,pbRetVal) (This)->lpVtbl->get_Valid(This,pbRetVal)
   2255 #define ICatalogObject_IsPropertyWriteOnly(This,bstrPropName,pbRetVal) (This)->lpVtbl->IsPropertyWriteOnly(This,bstrPropName,pbRetVal)
   2256 #else
   2257 /*** IUnknown methods ***/
   2258 static FORCEINLINE HRESULT ICatalogObject_QueryInterface(ICatalogObject* This,REFIID riid,void **ppvObject) {
   2259     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2260 }
   2261 static FORCEINLINE ULONG ICatalogObject_AddRef(ICatalogObject* This) {
   2262     return This->lpVtbl->AddRef(This);
   2263 }
   2264 static FORCEINLINE ULONG ICatalogObject_Release(ICatalogObject* This) {
   2265     return This->lpVtbl->Release(This);
   2266 }
   2267 /*** IDispatch methods ***/
   2268 static FORCEINLINE HRESULT ICatalogObject_GetTypeInfoCount(ICatalogObject* This,UINT *pctinfo) {
   2269     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2270 }
   2271 static FORCEINLINE HRESULT ICatalogObject_GetTypeInfo(ICatalogObject* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2272     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2273 }
   2274 static FORCEINLINE HRESULT ICatalogObject_GetIDsOfNames(ICatalogObject* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2275     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2276 }
   2277 static FORCEINLINE HRESULT ICatalogObject_Invoke(ICatalogObject* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2278     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2279 }
   2280 /*** ICatalogObject methods ***/
   2281 static FORCEINLINE HRESULT ICatalogObject_get_Value(ICatalogObject* This,BSTR bstrPropName,VARIANT *pvarRetVal) {
   2282     return This->lpVtbl->get_Value(This,bstrPropName,pvarRetVal);
   2283 }
   2284 static FORCEINLINE HRESULT ICatalogObject_put_Value(ICatalogObject* This,BSTR bstrPropName,VARIANT val) {
   2285     return This->lpVtbl->put_Value(This,bstrPropName,val);
   2286 }
   2287 static FORCEINLINE HRESULT ICatalogObject_get_Key(ICatalogObject* This,VARIANT *pvarRetVal) {
   2288     return This->lpVtbl->get_Key(This,pvarRetVal);
   2289 }
   2290 static FORCEINLINE HRESULT ICatalogObject_get_Name(ICatalogObject* This,VARIANT *pvarRetVal) {
   2291     return This->lpVtbl->get_Name(This,pvarRetVal);
   2292 }
   2293 static FORCEINLINE HRESULT ICatalogObject_IsPropertyReadOnly(ICatalogObject* This,BSTR bstrPropName,VARIANT_BOOL *pbRetVal) {
   2294     return This->lpVtbl->IsPropertyReadOnly(This,bstrPropName,pbRetVal);
   2295 }
   2296 static FORCEINLINE HRESULT ICatalogObject_get_Valid(ICatalogObject* This,VARIANT_BOOL *pbRetVal) {
   2297     return This->lpVtbl->get_Valid(This,pbRetVal);
   2298 }
   2299 static FORCEINLINE HRESULT ICatalogObject_IsPropertyWriteOnly(ICatalogObject* This,BSTR bstrPropName,VARIANT_BOOL *pbRetVal) {
   2300     return This->lpVtbl->IsPropertyWriteOnly(This,bstrPropName,pbRetVal);
   2301 }
   2302 #endif
   2303 #endif
   2304 
   2305 #endif
   2306 
   2307 HRESULT STDMETHODCALLTYPE ICatalogObject_get_Value_Proxy(
   2308     ICatalogObject* This,
   2309     BSTR bstrPropName,
   2310     VARIANT *pvarRetVal);
   2311 void __RPC_STUB ICatalogObject_get_Value_Stub(
   2312     IRpcStubBuffer* This,
   2313     IRpcChannelBuffer* pRpcChannelBuffer,
   2314     PRPC_MESSAGE pRpcMessage,
   2315     DWORD* pdwStubPhase);
   2316 HRESULT STDMETHODCALLTYPE ICatalogObject_put_Value_Proxy(
   2317     ICatalogObject* This,
   2318     BSTR bstrPropName,
   2319     VARIANT val);
   2320 void __RPC_STUB ICatalogObject_put_Value_Stub(
   2321     IRpcStubBuffer* This,
   2322     IRpcChannelBuffer* pRpcChannelBuffer,
   2323     PRPC_MESSAGE pRpcMessage,
   2324     DWORD* pdwStubPhase);
   2325 HRESULT STDMETHODCALLTYPE ICatalogObject_get_Key_Proxy(
   2326     ICatalogObject* This,
   2327     VARIANT *pvarRetVal);
   2328 void __RPC_STUB ICatalogObject_get_Key_Stub(
   2329     IRpcStubBuffer* This,
   2330     IRpcChannelBuffer* pRpcChannelBuffer,
   2331     PRPC_MESSAGE pRpcMessage,
   2332     DWORD* pdwStubPhase);
   2333 HRESULT STDMETHODCALLTYPE ICatalogObject_get_Name_Proxy(
   2334     ICatalogObject* This,
   2335     VARIANT *pvarRetVal);
   2336 void __RPC_STUB ICatalogObject_get_Name_Stub(
   2337     IRpcStubBuffer* This,
   2338     IRpcChannelBuffer* pRpcChannelBuffer,
   2339     PRPC_MESSAGE pRpcMessage,
   2340     DWORD* pdwStubPhase);
   2341 HRESULT STDMETHODCALLTYPE ICatalogObject_IsPropertyReadOnly_Proxy(
   2342     ICatalogObject* This,
   2343     BSTR bstrPropName,
   2344     VARIANT_BOOL *pbRetVal);
   2345 void __RPC_STUB ICatalogObject_IsPropertyReadOnly_Stub(
   2346     IRpcStubBuffer* This,
   2347     IRpcChannelBuffer* pRpcChannelBuffer,
   2348     PRPC_MESSAGE pRpcMessage,
   2349     DWORD* pdwStubPhase);
   2350 HRESULT STDMETHODCALLTYPE ICatalogObject_get_Valid_Proxy(
   2351     ICatalogObject* This,
   2352     VARIANT_BOOL *pbRetVal);
   2353 void __RPC_STUB ICatalogObject_get_Valid_Stub(
   2354     IRpcStubBuffer* This,
   2355     IRpcChannelBuffer* pRpcChannelBuffer,
   2356     PRPC_MESSAGE pRpcMessage,
   2357     DWORD* pdwStubPhase);
   2358 HRESULT STDMETHODCALLTYPE ICatalogObject_IsPropertyWriteOnly_Proxy(
   2359     ICatalogObject* This,
   2360     BSTR bstrPropName,
   2361     VARIANT_BOOL *pbRetVal);
   2362 void __RPC_STUB ICatalogObject_IsPropertyWriteOnly_Stub(
   2363     IRpcStubBuffer* This,
   2364     IRpcChannelBuffer* pRpcChannelBuffer,
   2365     PRPC_MESSAGE pRpcMessage,
   2366     DWORD* pdwStubPhase);
   2367 
   2368 #endif  /* __ICatalogObject_INTERFACE_DEFINED__ */
   2369 
   2370 /*****************************************************************************
   2371  * ICatalogCollection interface
   2372  */
   2373 #ifndef __ICatalogCollection_INTERFACE_DEFINED__
   2374 #define __ICatalogCollection_INTERFACE_DEFINED__
   2375 
   2376 DEFINE_GUID(IID_ICatalogCollection, 0x6eb22872, 0x8a19, 0x11d0, 0x81,0xb6, 0x00,0xa0,0xc9,0x23,0x1c,0x29);
   2377 #if defined(__cplusplus) && !defined(CINTERFACE)
   2378 MIDL_INTERFACE("6eb22872-8a19-11d0-81b6-00a0c9231c29")
   2379 ICatalogCollection : public IDispatch
   2380 {
   2381     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   2382         IUnknown **ppEnumVariant) = 0;
   2383 
   2384     virtual HRESULT STDMETHODCALLTYPE get_Item(
   2385         LONG lIndex,
   2386         IDispatch **ppCatalogObject) = 0;
   2387 
   2388     virtual HRESULT STDMETHODCALLTYPE get_Count(
   2389         LONG *plObjectCount) = 0;
   2390 
   2391     virtual HRESULT STDMETHODCALLTYPE Remove(
   2392         LONG lIndex) = 0;
   2393 
   2394     virtual HRESULT STDMETHODCALLTYPE Add(
   2395         IDispatch **ppCatalogObject) = 0;
   2396 
   2397     virtual HRESULT STDMETHODCALLTYPE Populate(
   2398         ) = 0;
   2399 
   2400     virtual HRESULT STDMETHODCALLTYPE SaveChanges(
   2401         LONG *pcChanges) = 0;
   2402 
   2403     virtual HRESULT STDMETHODCALLTYPE GetCollection(
   2404         BSTR bstrCollName,
   2405         VARIANT varObjectKey,
   2406         IDispatch **ppCatalogCollection) = 0;
   2407 
   2408     virtual HRESULT STDMETHODCALLTYPE get_Name(
   2409         VARIANT *pVarNamel) = 0;
   2410 
   2411     virtual HRESULT STDMETHODCALLTYPE get_AddEnabled(
   2412         VARIANT_BOOL *pVarBool) = 0;
   2413 
   2414     virtual HRESULT STDMETHODCALLTYPE get_RemoveEnabled(
   2415         VARIANT_BOOL *pVarBool) = 0;
   2416 
   2417     virtual HRESULT STDMETHODCALLTYPE GetUtilInterface(
   2418         IDispatch **ppIDispatch) = 0;
   2419 
   2420     virtual HRESULT STDMETHODCALLTYPE get_DataStoreMajorVersion(
   2421         LONG *plMajorVersion) = 0;
   2422 
   2423     virtual HRESULT STDMETHODCALLTYPE get_DataStoreMinorVersion(
   2424         LONG *plMinorVersionl) = 0;
   2425 
   2426     virtual HRESULT STDMETHODCALLTYPE PopulateByKey(
   2427         SAFEARRAY *psaKeys) = 0;
   2428 
   2429     virtual HRESULT STDMETHODCALLTYPE PopulateByQuery(
   2430         BSTR bstrQueryString,
   2431         LONG lQueryType) = 0;
   2432 
   2433 };
   2434 #ifdef __CRT_UUID_DECL
   2435 __CRT_UUID_DECL(ICatalogCollection, 0x6eb22872, 0x8a19, 0x11d0, 0x81,0xb6, 0x00,0xa0,0xc9,0x23,0x1c,0x29)
   2436 #endif
   2437 #else
   2438 typedef struct ICatalogCollectionVtbl {
   2439     BEGIN_INTERFACE
   2440 
   2441     /*** IUnknown methods ***/
   2442     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2443         ICatalogCollection* This,
   2444         REFIID riid,
   2445         void **ppvObject);
   2446 
   2447     ULONG (STDMETHODCALLTYPE *AddRef)(
   2448         ICatalogCollection* This);
   2449 
   2450     ULONG (STDMETHODCALLTYPE *Release)(
   2451         ICatalogCollection* This);
   2452 
   2453     /*** IDispatch methods ***/
   2454     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2455         ICatalogCollection* This,
   2456         UINT *pctinfo);
   2457 
   2458     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2459         ICatalogCollection* This,
   2460         UINT iTInfo,
   2461         LCID lcid,
   2462         ITypeInfo **ppTInfo);
   2463 
   2464     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2465         ICatalogCollection* This,
   2466         REFIID riid,
   2467         LPOLESTR *rgszNames,
   2468         UINT cNames,
   2469         LCID lcid,
   2470         DISPID *rgDispId);
   2471 
   2472     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2473         ICatalogCollection* This,
   2474         DISPID dispIdMember,
   2475         REFIID riid,
   2476         LCID lcid,
   2477         WORD wFlags,
   2478         DISPPARAMS *pDispParams,
   2479         VARIANT *pVarResult,
   2480         EXCEPINFO *pExcepInfo,
   2481         UINT *puArgErr);
   2482 
   2483     /*** ICatalogCollection methods ***/
   2484     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   2485         ICatalogCollection* This,
   2486         IUnknown **ppEnumVariant);
   2487 
   2488     HRESULT (STDMETHODCALLTYPE *get_Item)(
   2489         ICatalogCollection* This,
   2490         LONG lIndex,
   2491         IDispatch **ppCatalogObject);
   2492 
   2493     HRESULT (STDMETHODCALLTYPE *get_Count)(
   2494         ICatalogCollection* This,
   2495         LONG *plObjectCount);
   2496 
   2497     HRESULT (STDMETHODCALLTYPE *Remove)(
   2498         ICatalogCollection* This,
   2499         LONG lIndex);
   2500 
   2501     HRESULT (STDMETHODCALLTYPE *Add)(
   2502         ICatalogCollection* This,
   2503         IDispatch **ppCatalogObject);
   2504 
   2505     HRESULT (STDMETHODCALLTYPE *Populate)(
   2506         ICatalogCollection* This);
   2507 
   2508     HRESULT (STDMETHODCALLTYPE *SaveChanges)(
   2509         ICatalogCollection* This,
   2510         LONG *pcChanges);
   2511 
   2512     HRESULT (STDMETHODCALLTYPE *GetCollection)(
   2513         ICatalogCollection* This,
   2514         BSTR bstrCollName,
   2515         VARIANT varObjectKey,
   2516         IDispatch **ppCatalogCollection);
   2517 
   2518     HRESULT (STDMETHODCALLTYPE *get_Name)(
   2519         ICatalogCollection* This,
   2520         VARIANT *pVarNamel);
   2521 
   2522     HRESULT (STDMETHODCALLTYPE *get_AddEnabled)(
   2523         ICatalogCollection* This,
   2524         VARIANT_BOOL *pVarBool);
   2525 
   2526     HRESULT (STDMETHODCALLTYPE *get_RemoveEnabled)(
   2527         ICatalogCollection* This,
   2528         VARIANT_BOOL *pVarBool);
   2529 
   2530     HRESULT (STDMETHODCALLTYPE *GetUtilInterface)(
   2531         ICatalogCollection* This,
   2532         IDispatch **ppIDispatch);
   2533 
   2534     HRESULT (STDMETHODCALLTYPE *get_DataStoreMajorVersion)(
   2535         ICatalogCollection* This,
   2536         LONG *plMajorVersion);
   2537 
   2538     HRESULT (STDMETHODCALLTYPE *get_DataStoreMinorVersion)(
   2539         ICatalogCollection* This,
   2540         LONG *plMinorVersionl);
   2541 
   2542     HRESULT (STDMETHODCALLTYPE *PopulateByKey)(
   2543         ICatalogCollection* This,
   2544         SAFEARRAY *psaKeys);
   2545 
   2546     HRESULT (STDMETHODCALLTYPE *PopulateByQuery)(
   2547         ICatalogCollection* This,
   2548         BSTR bstrQueryString,
   2549         LONG lQueryType);
   2550 
   2551     END_INTERFACE
   2552 } ICatalogCollectionVtbl;
   2553 interface ICatalogCollection {
   2554     CONST_VTBL ICatalogCollectionVtbl* lpVtbl;
   2555 };
   2556 
   2557 #ifdef COBJMACROS
   2558 #ifndef WIDL_C_INLINE_WRAPPERS
   2559 /*** IUnknown methods ***/
   2560 #define ICatalogCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2561 #define ICatalogCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   2562 #define ICatalogCollection_Release(This) (This)->lpVtbl->Release(This)
   2563 /*** IDispatch methods ***/
   2564 #define ICatalogCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2565 #define ICatalogCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2566 #define ICatalogCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2567 #define ICatalogCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2568 /*** ICatalogCollection methods ***/
   2569 #define ICatalogCollection_get__NewEnum(This,ppEnumVariant) (This)->lpVtbl->get__NewEnum(This,ppEnumVariant)
   2570 #define ICatalogCollection_get_Item(This,lIndex,ppCatalogObject) (This)->lpVtbl->get_Item(This,lIndex,ppCatalogObject)
   2571 #define ICatalogCollection_get_Count(This,plObjectCount) (This)->lpVtbl->get_Count(This,plObjectCount)
   2572 #define ICatalogCollection_Remove(This,lIndex) (This)->lpVtbl->Remove(This,lIndex)
   2573 #define ICatalogCollection_Add(This,ppCatalogObject) (This)->lpVtbl->Add(This,ppCatalogObject)
   2574 #define ICatalogCollection_Populate(This) (This)->lpVtbl->Populate(This)
   2575 #define ICatalogCollection_SaveChanges(This,pcChanges) (This)->lpVtbl->SaveChanges(This,pcChanges)
   2576 #define ICatalogCollection_GetCollection(This,bstrCollName,varObjectKey,ppCatalogCollection) (This)->lpVtbl->GetCollection(This,bstrCollName,varObjectKey,ppCatalogCollection)
   2577 #define ICatalogCollection_get_Name(This,pVarNamel) (This)->lpVtbl->get_Name(This,pVarNamel)
   2578 #define ICatalogCollection_get_AddEnabled(This,pVarBool) (This)->lpVtbl->get_AddEnabled(This,pVarBool)
   2579 #define ICatalogCollection_get_RemoveEnabled(This,pVarBool) (This)->lpVtbl->get_RemoveEnabled(This,pVarBool)
   2580 #define ICatalogCollection_GetUtilInterface(This,ppIDispatch) (This)->lpVtbl->GetUtilInterface(This,ppIDispatch)
   2581 #define ICatalogCollection_get_DataStoreMajorVersion(This,plMajorVersion) (This)->lpVtbl->get_DataStoreMajorVersion(This,plMajorVersion)
   2582 #define ICatalogCollection_get_DataStoreMinorVersion(This,plMinorVersionl) (This)->lpVtbl->get_DataStoreMinorVersion(This,plMinorVersionl)
   2583 #define ICatalogCollection_PopulateByKey(This,psaKeys) (This)->lpVtbl->PopulateByKey(This,psaKeys)
   2584 #define ICatalogCollection_PopulateByQuery(This,bstrQueryString,lQueryType) (This)->lpVtbl->PopulateByQuery(This,bstrQueryString,lQueryType)
   2585 #else
   2586 /*** IUnknown methods ***/
   2587 static FORCEINLINE HRESULT ICatalogCollection_QueryInterface(ICatalogCollection* This,REFIID riid,void **ppvObject) {
   2588     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2589 }
   2590 static FORCEINLINE ULONG ICatalogCollection_AddRef(ICatalogCollection* This) {
   2591     return This->lpVtbl->AddRef(This);
   2592 }
   2593 static FORCEINLINE ULONG ICatalogCollection_Release(ICatalogCollection* This) {
   2594     return This->lpVtbl->Release(This);
   2595 }
   2596 /*** IDispatch methods ***/
   2597 static FORCEINLINE HRESULT ICatalogCollection_GetTypeInfoCount(ICatalogCollection* This,UINT *pctinfo) {
   2598     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2599 }
   2600 static FORCEINLINE HRESULT ICatalogCollection_GetTypeInfo(ICatalogCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2601     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2602 }
   2603 static FORCEINLINE HRESULT ICatalogCollection_GetIDsOfNames(ICatalogCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2604     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2605 }
   2606 static FORCEINLINE HRESULT ICatalogCollection_Invoke(ICatalogCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2607     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2608 }
   2609 /*** ICatalogCollection methods ***/
   2610 static FORCEINLINE HRESULT ICatalogCollection_get__NewEnum(ICatalogCollection* This,IUnknown **ppEnumVariant) {
   2611     return This->lpVtbl->get__NewEnum(This,ppEnumVariant);
   2612 }
   2613 static FORCEINLINE HRESULT ICatalogCollection_get_Item(ICatalogCollection* This,LONG lIndex,IDispatch **ppCatalogObject) {
   2614     return This->lpVtbl->get_Item(This,lIndex,ppCatalogObject);
   2615 }
   2616 static FORCEINLINE HRESULT ICatalogCollection_get_Count(ICatalogCollection* This,LONG *plObjectCount) {
   2617     return This->lpVtbl->get_Count(This,plObjectCount);
   2618 }
   2619 static FORCEINLINE HRESULT ICatalogCollection_Remove(ICatalogCollection* This,LONG lIndex) {
   2620     return This->lpVtbl->Remove(This,lIndex);
   2621 }
   2622 static FORCEINLINE HRESULT ICatalogCollection_Add(ICatalogCollection* This,IDispatch **ppCatalogObject) {
   2623     return This->lpVtbl->Add(This,ppCatalogObject);
   2624 }
   2625 static FORCEINLINE HRESULT ICatalogCollection_Populate(ICatalogCollection* This) {
   2626     return This->lpVtbl->Populate(This);
   2627 }
   2628 static FORCEINLINE HRESULT ICatalogCollection_SaveChanges(ICatalogCollection* This,LONG *pcChanges) {
   2629     return This->lpVtbl->SaveChanges(This,pcChanges);
   2630 }
   2631 static FORCEINLINE HRESULT ICatalogCollection_GetCollection(ICatalogCollection* This,BSTR bstrCollName,VARIANT varObjectKey,IDispatch **ppCatalogCollection) {
   2632     return This->lpVtbl->GetCollection(This,bstrCollName,varObjectKey,ppCatalogCollection);
   2633 }
   2634 static FORCEINLINE HRESULT ICatalogCollection_get_Name(ICatalogCollection* This,VARIANT *pVarNamel) {
   2635     return This->lpVtbl->get_Name(This,pVarNamel);
   2636 }
   2637 static FORCEINLINE HRESULT ICatalogCollection_get_AddEnabled(ICatalogCollection* This,VARIANT_BOOL *pVarBool) {
   2638     return This->lpVtbl->get_AddEnabled(This,pVarBool);
   2639 }
   2640 static FORCEINLINE HRESULT ICatalogCollection_get_RemoveEnabled(ICatalogCollection* This,VARIANT_BOOL *pVarBool) {
   2641     return This->lpVtbl->get_RemoveEnabled(This,pVarBool);
   2642 }
   2643 static FORCEINLINE HRESULT ICatalogCollection_GetUtilInterface(ICatalogCollection* This,IDispatch **ppIDispatch) {
   2644     return This->lpVtbl->GetUtilInterface(This,ppIDispatch);
   2645 }
   2646 static FORCEINLINE HRESULT ICatalogCollection_get_DataStoreMajorVersion(ICatalogCollection* This,LONG *plMajorVersion) {
   2647     return This->lpVtbl->get_DataStoreMajorVersion(This,plMajorVersion);
   2648 }
   2649 static FORCEINLINE HRESULT ICatalogCollection_get_DataStoreMinorVersion(ICatalogCollection* This,LONG *plMinorVersionl) {
   2650     return This->lpVtbl->get_DataStoreMinorVersion(This,plMinorVersionl);
   2651 }
   2652 static FORCEINLINE HRESULT ICatalogCollection_PopulateByKey(ICatalogCollection* This,SAFEARRAY *psaKeys) {
   2653     return This->lpVtbl->PopulateByKey(This,psaKeys);
   2654 }
   2655 static FORCEINLINE HRESULT ICatalogCollection_PopulateByQuery(ICatalogCollection* This,BSTR bstrQueryString,LONG lQueryType) {
   2656     return This->lpVtbl->PopulateByQuery(This,bstrQueryString,lQueryType);
   2657 }
   2658 #endif
   2659 #endif
   2660 
   2661 #endif
   2662 
   2663 HRESULT STDMETHODCALLTYPE ICatalogCollection_get__NewEnum_Proxy(
   2664     ICatalogCollection* This,
   2665     IUnknown **ppEnumVariant);
   2666 void __RPC_STUB ICatalogCollection_get__NewEnum_Stub(
   2667     IRpcStubBuffer* This,
   2668     IRpcChannelBuffer* pRpcChannelBuffer,
   2669     PRPC_MESSAGE pRpcMessage,
   2670     DWORD* pdwStubPhase);
   2671 HRESULT STDMETHODCALLTYPE ICatalogCollection_get_Item_Proxy(
   2672     ICatalogCollection* This,
   2673     LONG lIndex,
   2674     IDispatch **ppCatalogObject);
   2675 void __RPC_STUB ICatalogCollection_get_Item_Stub(
   2676     IRpcStubBuffer* This,
   2677     IRpcChannelBuffer* pRpcChannelBuffer,
   2678     PRPC_MESSAGE pRpcMessage,
   2679     DWORD* pdwStubPhase);
   2680 HRESULT STDMETHODCALLTYPE ICatalogCollection_get_Count_Proxy(
   2681     ICatalogCollection* This,
   2682     LONG *plObjectCount);
   2683 void __RPC_STUB ICatalogCollection_get_Count_Stub(
   2684     IRpcStubBuffer* This,
   2685     IRpcChannelBuffer* pRpcChannelBuffer,
   2686     PRPC_MESSAGE pRpcMessage,
   2687     DWORD* pdwStubPhase);
   2688 HRESULT STDMETHODCALLTYPE ICatalogCollection_Remove_Proxy(
   2689     ICatalogCollection* This,
   2690     LONG lIndex);
   2691 void __RPC_STUB ICatalogCollection_Remove_Stub(
   2692     IRpcStubBuffer* This,
   2693     IRpcChannelBuffer* pRpcChannelBuffer,
   2694     PRPC_MESSAGE pRpcMessage,
   2695     DWORD* pdwStubPhase);
   2696 HRESULT STDMETHODCALLTYPE ICatalogCollection_Add_Proxy(
   2697     ICatalogCollection* This,
   2698     IDispatch **ppCatalogObject);
   2699 void __RPC_STUB ICatalogCollection_Add_Stub(
   2700     IRpcStubBuffer* This,
   2701     IRpcChannelBuffer* pRpcChannelBuffer,
   2702     PRPC_MESSAGE pRpcMessage,
   2703     DWORD* pdwStubPhase);
   2704 HRESULT STDMETHODCALLTYPE ICatalogCollection_Populate_Proxy(
   2705     ICatalogCollection* This);
   2706 void __RPC_STUB ICatalogCollection_Populate_Stub(
   2707     IRpcStubBuffer* This,
   2708     IRpcChannelBuffer* pRpcChannelBuffer,
   2709     PRPC_MESSAGE pRpcMessage,
   2710     DWORD* pdwStubPhase);
   2711 HRESULT STDMETHODCALLTYPE ICatalogCollection_SaveChanges_Proxy(
   2712     ICatalogCollection* This,
   2713     LONG *pcChanges);
   2714 void __RPC_STUB ICatalogCollection_SaveChanges_Stub(
   2715     IRpcStubBuffer* This,
   2716     IRpcChannelBuffer* pRpcChannelBuffer,
   2717     PRPC_MESSAGE pRpcMessage,
   2718     DWORD* pdwStubPhase);
   2719 HRESULT STDMETHODCALLTYPE ICatalogCollection_GetCollection_Proxy(
   2720     ICatalogCollection* This,
   2721     BSTR bstrCollName,
   2722     VARIANT varObjectKey,
   2723     IDispatch **ppCatalogCollection);
   2724 void __RPC_STUB ICatalogCollection_GetCollection_Stub(
   2725     IRpcStubBuffer* This,
   2726     IRpcChannelBuffer* pRpcChannelBuffer,
   2727     PRPC_MESSAGE pRpcMessage,
   2728     DWORD* pdwStubPhase);
   2729 HRESULT STDMETHODCALLTYPE ICatalogCollection_get_Name_Proxy(
   2730     ICatalogCollection* This,
   2731     VARIANT *pVarNamel);
   2732 void __RPC_STUB ICatalogCollection_get_Name_Stub(
   2733     IRpcStubBuffer* This,
   2734     IRpcChannelBuffer* pRpcChannelBuffer,
   2735     PRPC_MESSAGE pRpcMessage,
   2736     DWORD* pdwStubPhase);
   2737 HRESULT STDMETHODCALLTYPE ICatalogCollection_get_AddEnabled_Proxy(
   2738     ICatalogCollection* This,
   2739     VARIANT_BOOL *pVarBool);
   2740 void __RPC_STUB ICatalogCollection_get_AddEnabled_Stub(
   2741     IRpcStubBuffer* This,
   2742     IRpcChannelBuffer* pRpcChannelBuffer,
   2743     PRPC_MESSAGE pRpcMessage,
   2744     DWORD* pdwStubPhase);
   2745 HRESULT STDMETHODCALLTYPE ICatalogCollection_get_RemoveEnabled_Proxy(
   2746     ICatalogCollection* This,
   2747     VARIANT_BOOL *pVarBool);
   2748 void __RPC_STUB ICatalogCollection_get_RemoveEnabled_Stub(
   2749     IRpcStubBuffer* This,
   2750     IRpcChannelBuffer* pRpcChannelBuffer,
   2751     PRPC_MESSAGE pRpcMessage,
   2752     DWORD* pdwStubPhase);
   2753 HRESULT STDMETHODCALLTYPE ICatalogCollection_GetUtilInterface_Proxy(
   2754     ICatalogCollection* This,
   2755     IDispatch **ppIDispatch);
   2756 void __RPC_STUB ICatalogCollection_GetUtilInterface_Stub(
   2757     IRpcStubBuffer* This,
   2758     IRpcChannelBuffer* pRpcChannelBuffer,
   2759     PRPC_MESSAGE pRpcMessage,
   2760     DWORD* pdwStubPhase);
   2761 HRESULT STDMETHODCALLTYPE ICatalogCollection_get_DataStoreMajorVersion_Proxy(
   2762     ICatalogCollection* This,
   2763     LONG *plMajorVersion);
   2764 void __RPC_STUB ICatalogCollection_get_DataStoreMajorVersion_Stub(
   2765     IRpcStubBuffer* This,
   2766     IRpcChannelBuffer* pRpcChannelBuffer,
   2767     PRPC_MESSAGE pRpcMessage,
   2768     DWORD* pdwStubPhase);
   2769 HRESULT STDMETHODCALLTYPE ICatalogCollection_get_DataStoreMinorVersion_Proxy(
   2770     ICatalogCollection* This,
   2771     LONG *plMinorVersionl);
   2772 void __RPC_STUB ICatalogCollection_get_DataStoreMinorVersion_Stub(
   2773     IRpcStubBuffer* This,
   2774     IRpcChannelBuffer* pRpcChannelBuffer,
   2775     PRPC_MESSAGE pRpcMessage,
   2776     DWORD* pdwStubPhase);
   2777 HRESULT STDMETHODCALLTYPE ICatalogCollection_PopulateByKey_Proxy(
   2778     ICatalogCollection* This,
   2779     SAFEARRAY *psaKeys);
   2780 void __RPC_STUB ICatalogCollection_PopulateByKey_Stub(
   2781     IRpcStubBuffer* This,
   2782     IRpcChannelBuffer* pRpcChannelBuffer,
   2783     PRPC_MESSAGE pRpcMessage,
   2784     DWORD* pdwStubPhase);
   2785 HRESULT STDMETHODCALLTYPE ICatalogCollection_PopulateByQuery_Proxy(
   2786     ICatalogCollection* This,
   2787     BSTR bstrQueryString,
   2788     LONG lQueryType);
   2789 void __RPC_STUB ICatalogCollection_PopulateByQuery_Stub(
   2790     IRpcStubBuffer* This,
   2791     IRpcChannelBuffer* pRpcChannelBuffer,
   2792     PRPC_MESSAGE pRpcMessage,
   2793     DWORD* pdwStubPhase);
   2794 
   2795 #endif  /* __ICatalogCollection_INTERFACE_DEFINED__ */
   2796 
   2797 
   2798 DEFINE_GUID(LIBID_COMAdmin, 0xf618c513, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
   2799 
   2800 /*****************************************************************************
   2801  * COMAdminCatalog coclass
   2802  */
   2803 
   2804 DEFINE_GUID(CLSID_COMAdminCatalog, 0xf618c514, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
   2805 
   2806 #ifdef __cplusplus
   2807 class DECLSPEC_UUID("f618c514-dfb8-11d1-a2cf-00805fc79235") COMAdminCatalog;
   2808 #ifdef __CRT_UUID_DECL
   2809 __CRT_UUID_DECL(COMAdminCatalog, 0xf618c514, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35)
   2810 #endif
   2811 #endif
   2812 
   2813 /*****************************************************************************
   2814  * COMAdminCatalogObject coclass
   2815  */
   2816 
   2817 DEFINE_GUID(CLSID_COMAdminCatalogObject, 0xf618c515, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
   2818 
   2819 #ifdef __cplusplus
   2820 class DECLSPEC_UUID("f618c515-dfb8-11d1-a2cf-00805fc79235") COMAdminCatalogObject;
   2821 #ifdef __CRT_UUID_DECL
   2822 __CRT_UUID_DECL(COMAdminCatalogObject, 0xf618c515, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35)
   2823 #endif
   2824 #endif
   2825 
   2826 /*****************************************************************************
   2827  * COMAdminCatalogCollection coclass
   2828  */
   2829 
   2830 DEFINE_GUID(CLSID_COMAdminCatalogCollection, 0xf618c516, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35);
   2831 
   2832 #ifdef __cplusplus
   2833 class DECLSPEC_UUID("f618c516-dfb8-11d1-a2cf-00805fc79235") COMAdminCatalogCollection;
   2834 #ifdef __CRT_UUID_DECL
   2835 __CRT_UUID_DECL(COMAdminCatalogCollection, 0xf618c516, 0xdfb8, 0x11d1, 0xa2,0xcf, 0x00,0x80,0x5f,0xc7,0x92,0x35)
   2836 #endif
   2837 #endif
   2838 
   2839 #define COMAdminCollectionRoot ("Root")
   2840 
   2841 #define COMAdminCollectionApplications ("Applications")
   2842 
   2843 #define COMAdminCollectionComponents ("Components")
   2844 
   2845 #define COMAdminCollectionComputerList ("ComputerList")
   2846 
   2847 #define COMAdminCollectionApplicationCluster ("ApplicationCluster")
   2848 
   2849 #define COMAdminCollectionLocalComputer ("LocalComputer")
   2850 
   2851 #define COMAdminCollectionInprocServers ("InprocServers")
   2852 
   2853 #define COMAdminCollectionRelatedCollectionInfo ("RelatedCollectionInfo")
   2854 
   2855 #define COMAdminCollectionPropertyInfo ("PropertyInfo")
   2856 
   2857 #define COMAdminCollectionRoles ("Roles")
   2858 
   2859 #define COMAdminCollectionErrorInfo ("ErrorInfo")
   2860 
   2861 #define COMAdminCollectionInterfacesForComponent ("InterfacesForComponent")
   2862 
   2863 #define COMAdminCollectionRolesForComponent ("RolesForComponent")
   2864 
   2865 #define COMAdminCollectionMethodsForInterface ("MethodsForInterface")
   2866 
   2867 #define COMAdminCollectionRolesForInterface ("RolesForInterface")
   2868 
   2869 #define COMAdminCollectionRolesForMethod ("RolesForMethod")
   2870 
   2871 #define COMAdminCollectionUsersInRole ("UsersInRole")
   2872 
   2873 #define COMAdminCollectionDCOMProtocols ("DCOMProtocols")
   2874 
   2875 #define COMAdminCollectionPartitions ("Partitions")
   2876 
   2877 #endif
   2878 /* Begin additional prototypes for all interfaces */
   2879 
   2880 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   2881 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   2882 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   2883 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   2884 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
   2885 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
   2886 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
   2887 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
   2888 
   2889 /* End additional prototypes */
   2890 
   2891 #ifdef __cplusplus
   2892 }
   2893 #endif
   2894 
   2895 #endif /* __comadmin_h__ */
   2896