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