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