zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

comadmin.h (100210B) - Raw


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