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