home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / Idl / comadmin.idl < prev    next >
Encoding:
Text File  |  2000-02-01  |  26.8 KB  |  730 lines

  1. // comadmin.idl : IDL source for comadmin.dll
  2. //
  3.  
  4. // This file will be processed by the MIDL tool to
  5. // produce the type library (comadmin.tlb) and marshalling code.
  6. //
  7. cpp_quote("// -----------------------------------------------------------------------    ") 
  8. cpp_quote("// comadmin.h  -- COM Administration Programming Interfaces                    ")
  9. cpp_quote("//                                                                            ")
  10. cpp_quote("// This file provides the prototypes for the APIs and COM interfaces            ")
  11. cpp_quote("// used by Microsoft COM applications.                                        ")
  12. cpp_quote("//                                                                            ")
  13. cpp_quote("// Copyright (c) 1995-1999 Microsoft Corporation.  All Rights Reserved.        ")
  14. cpp_quote("// -----------------------------------------------------------------------    ")  
  15.  
  16. cpp_quote("#include <objbase.h>")
  17.  
  18.  
  19. cpp_quote("#ifndef DECLSPEC_UUID")
  20. cpp_quote("#if _MSC_VER >= 1100")
  21. cpp_quote("#define DECLSPEC_UUID(x)    __declspec(uuid(x))")
  22. cpp_quote("#else")
  23. cpp_quote("#define DECLSPEC_UUID(x)")
  24. cpp_quote("#endif")
  25. cpp_quote("#endif")
  26.  
  27. #include "winerror.h"
  28. import "unknwn.idl";
  29.  
  30.  
  31. // ---------------------------------------------------------------------------
  32. // ICOMAdmin 
  33.  
  34.     [
  35.         object,
  36.         uuid(DD662187-DFC2-11d1-A2CF-00805FC79235),
  37.         dual,
  38.         helpstring("ICOMAdminCatalog Interface"),
  39.         pointer_default(unique)
  40.     ]
  41.     interface ICOMAdminCatalog : IDispatch
  42.     {
  43.         import "oaidl.idl";
  44.  
  45.         [id(1), helpstring("Gets a collection on the local catalog - without reading any objects from the catalog data store")]
  46.         HRESULT GetCollection([in] BSTR bstrCollName, [out, retval] IDispatch** ppCatalogCollection);
  47.  
  48.         [id(2), helpstring("---")]
  49.         HRESULT Connect
  50.         (
  51.             [in] BSTR bstrConnectString
  52.           , [out, retval] IDispatch** ppCatalogCollection 
  53.         );
  54.  
  55.         [propget, id(3), helpstring("Gets the major version number of the COM Admin objects")]
  56.         HRESULT MajorVersion( [out, retval] long* retval );
  57.  
  58.         [propget, id(4), helpstring("Gets the minor version number of the COM Admin objects")]
  59.         HRESULT MinorVersion( [out, retval] long* retval );
  60.  
  61.  
  62.         [id(5), helpstring("---")]
  63.         HRESULT GetCollectionByQuery
  64.         (
  65.             [in] BSTR bstrCollName, 
  66.             [in] SAFEARRAY( VARIANT )* aQuery,
  67.             [out, retval] IDispatch** ppCatalogCollection
  68.         );
  69.  
  70.  
  71.         [id(6), helpstring("Imports a component that is already regsitered as an inproc server")]
  72.         HRESULT ImportComponent( [in] BSTR bstrApplIdOrName, [in] BSTR bstrCLSIDOrProgId );
  73.  
  74.         [id(7), helpstring("Installs a component into an application (if one is provided)")]
  75.         HRESULT InstallComponent( [in] BSTR bstrApplIdOrName, [in] BSTR bstrDLL, [in] BSTR bstrTLB, [in] BSTR bstrPSDLL );
  76.  
  77.  
  78.         [id(8), helpstring("Initiates shutdown of an application server process")]
  79.         HRESULT ShutdownApplication( [in] BSTR bstrApplIdOrName );
  80.  
  81.         [id(9), helpstring("Exports an application or client application to be installed on a different machine")]
  82.         HRESULT ExportApplication( [in] BSTR    bstrApplIdOrName
  83.                                      , [in] BSTR    bstrApplicationFile
  84.                                      , [in] long    lOptions );
  85.  
  86.         [id(10), helpstring("Imports an application from a file")]
  87.         HRESULT InstallApplication( [in] BSTR    bstrApplicationFile
  88.                                      , [in, optional] BSTR    bstrDestinationDirectory
  89.                                      , [in, optional] long    lOptions 
  90.                                      , [in, optional] BSTR bstrUserId
  91.                                      , [in, optional] BSTR bstrPassword
  92.                                      , [in, optional] BSTR bstrRSN
  93.                                      );
  94.  
  95.         [id(11), helpstring("Stops the router service")]
  96.         HRESULT StopRouter(  );
  97.  
  98.         [id(12), helpstring("Refreshes the data being used by the router service")]
  99.         HRESULT RefreshRouter(  );
  100.  
  101.         [id(13), helpstring("Starts the router service")]
  102.         HRESULT StartRouter(  );
  103.  
  104.         [id(14), helpstring("Stops the IMDB service")]
  105.         HRESULT StopIMDB(  );
  106.  
  107.         [id(15), helpstring("Starts the IMDB service")]
  108.         HRESULT StartIMDB(  );
  109.  
  110.         [id(16), helpstring("Installs components into an application from multiple files")]
  111.         HRESULT InstallMultipleComponents( [in] BSTR bstrApplIdOrName
  112.                                          , [in] SAFEARRAY( VARIANT )* varFileNames 
  113.                                          , [in] SAFEARRAY( VARIANT )* varCLSIDS);
  114.  
  115.         [id(17), helpstring("Returns information about components found in the files")]
  116.         HRESULT GetMultipleComponentsInfo( [in] BSTR bstrApplIdOrName
  117.                          , [in] SAFEARRAY( VARIANT )* varFileNames
  118.                           , [out] SAFEARRAY( VARIANT )* varCLSIDs
  119.                           , [out] SAFEARRAY( VARIANT )* varClassNames
  120.                           , [out] SAFEARRAY( VARIANT )* varFileFlags
  121.                           , [out] SAFEARRAY( VARIANT )* varComponentFlags
  122.                          );
  123.  
  124.         [id(18), helpstring("Refreshes all component registration information")]
  125.         HRESULT RefreshComponents(  );
  126.  
  127.         [id(19), helpstring("Registration database backup")]
  128.         HRESULT BackupREGDB( [in] BSTR bstrBackupFilePath );
  129.  
  130.         [id(20), helpstring("Registration database restore (must reboot after)")]
  131.         HRESULT RestoreREGDB( [in] BSTR bstrBackupFilePath );
  132.  
  133.         [id(21), helpstring("Returns information about an application that is about to be installed")]
  134.         HRESULT QueryApplicationFile( [in] BSTR    bstrApplicationFile
  135.                           , [out] BSTR* bstrApplicationName
  136.                           , [out] BSTR* bstrApplicationDescription
  137.                           , [out] VARIANT_BOOL* bHasUsers
  138.                           , [out] VARIANT_BOOL* bIsProxy
  139.                           , [out] SAFEARRAY( VARIANT )* varFileNames
  140.                          );
  141.  
  142.         [id(22), helpstring("Launches application server process")]
  143.         HRESULT StartApplication( [in] BSTR bstrApplIdOrName );
  144.  
  145.         [id(23), helpstring("Checks the status of a COM+ related service")]
  146.         HRESULT ServiceCheck  ( [in]          long        lService
  147.                             ,   [out, retval] long*        pulStatus);
  148.                             
  149.         [id(24), helpstring("Installs multiple event classes into an application")]
  150.         HRESULT InstallMultipleEventClasses( [in] BSTR bstrApplIdOrName
  151.                                          , [in] SAFEARRAY( VARIANT )* varFileNames 
  152.                                          , [in] SAFEARRAY( VARIANT )* varCLSIDS);
  153.  
  154.         [id(25), helpstring("Installs a event class into an application (if one is provided)")]
  155.         HRESULT InstallEventClass( [in] BSTR bstrApplIdOrName, [in] BSTR bstrDLL, [in] BSTR bstrTLB, [in] BSTR bstrPSDLL );
  156.  
  157.         [id(26), helpstring("Gets a list of event classes that implement a specified interface")]
  158.         HRESULT GetEventClassesForIID( [in] BSTR bstrIID
  159.                                     , [out] SAFEARRAY (VARIANT) *varCLSIDs
  160.                                    , [out] SAFEARRAY (VARIANT) *varProgIDs
  161.                                     , [out] SAFEARRAY (VARIANT) *varDescriptions
  162.                                    );
  163.  
  164.  
  165.  
  166.  
  167.     }
  168.  
  169.  
  170.  
  171.  
  172.  
  173. // ---------------------------------------------------------------------------
  174. // ICatalogObject
  175.  
  176.     [
  177.         object,
  178.         uuid(6eb22871-8a19-11d0-81b6-00a0c9231c29),
  179.         dual,
  180.         helpstring("ICatalogObject Interface"),
  181.         pointer_default(unique)
  182.     ]
  183.     interface ICatalogObject : IDispatch
  184.     {
  185.         import "oaidl.idl";
  186.  
  187.  
  188.         [propget, id(1), helpstring("Gets a property value")]
  189.         HRESULT Value( [in] BSTR bstrPropName
  190.                      , [out, retval] VARIANT* retval
  191.                      );
  192.  
  193.         [propput, id(1), helpstring("Sets a property value")]
  194.         HRESULT Value( [in] BSTR bstrPropName
  195.                      , [in] VARIANT val
  196.                      );
  197.  
  198.         [propget, id(2), helpstring("Gets the value of the key property")]
  199.         HRESULT Key( [out, retval] VARIANT* retval );
  200.  
  201.         [propget, id(3), helpstring("Gets the name of the object")]
  202.         HRESULT Name( [out, retval] VARIANT* retval );
  203.  
  204.         [ id(4), helpstring("True if the property cannot be set")]
  205.         HRESULT IsPropertyReadOnly( [in] BSTR bstrPropName
  206.                                   , [out, retval] VARIANT_BOOL* retval
  207.                                   );
  208.  
  209.         [propget, id(5), helpstring("True if all properties were successfully read from the catalog data store")]
  210.         HRESULT Valid( [out, retval] VARIANT_BOOL* retval );
  211.  
  212.         [ id(6), helpstring("True if the property only supports set")]
  213.         HRESULT IsPropertyWriteOnly( [in] BSTR bstrPropName
  214.                                    , [out, retval] VARIANT_BOOL* retval
  215.                                    );
  216.     };
  217.  
  218.  
  219.  
  220.     [
  221.         object,
  222.         uuid(6eb22872-8a19-11d0-81b6-00a0c9231c29),
  223.         dual,
  224.         helpstring("ICatalogCollection Interface"),
  225.         pointer_default(unique)
  226.     ]
  227.     interface ICatalogCollection : IDispatch
  228.     {
  229.         import "oaidl.idl";
  230.         [propget, restricted, id(DISPID_NEWENUM)]   // Must be propget.
  231.         HRESULT _NewEnum( [out, retval] IUnknown** ppEnumVariant );
  232.  
  233.         [propget, id(1), helpstring("Returns an object by index")]
  234.         HRESULT Item( [in] long lIndex
  235.                     , [out, retval] IDispatch** ppCatalogObject
  236.                     );                
  237.                 
  238.         [propget, helpstring("Returns number of objects in the collection.")]
  239.         HRESULT Count( [out, retval] long* retval );    
  240.         
  241.         [helpstring("Removes an item, given the index")]
  242.         HRESULT Remove( [in] long lIndex );    
  243.  
  244.         [helpstring("Adds an object to the collection - returns the new object ")]
  245.         HRESULT Add( [out, retval] IDispatch** ppCatalogObject );    
  246.  
  247.         [id(2), helpstring("Reads all the collection objects from the catalog data store")]
  248.         HRESULT Populate();
  249.  
  250.         [id(3), helpstring("Saves changes made to the collection into the catalog data store")]
  251.         HRESULT SaveChanges( [out, retval] long* retval );
  252.  
  253.         [id(4), helpstring("Gets a collection related to a specific object - without reading any objects from the catalog data store")]
  254.         HRESULT GetCollection( [in] BSTR bstrCollName
  255.                              , [in] VARIANT varObjectKey
  256.                              , [out, retval] IDispatch** ppCatalogCollection
  257.                              );
  258.  
  259.         [ propget, id(6), helpstring("Gets the name of the collection")]
  260.         HRESULT Name( [out, retval] VARIANT* retval );
  261.  
  262.         [ propget, id(7), helpstring("Returns true if Add is enabled")]
  263.         HRESULT AddEnabled( [out, retval] VARIANT_BOOL* retval );
  264.  
  265.         [ propget, id(8), helpstring("Returns true if Remove is enabled")]
  266.         HRESULT RemoveEnabled( [out, retval] VARIANT_BOOL* retval );
  267.  
  268.         [ id(9), helpstring("Get the utility interface")]
  269.         HRESULT GetUtilInterface( [out, retval] IDispatch** ppUtil );
  270.  
  271.         [propget, id(10), helpstring("Gets the major version number of the Catalog data store")]
  272.         HRESULT DataStoreMajorVersion( [out, retval] long* retval );
  273.  
  274.         [propget, id(11), helpstring("Gets the minor version number of the Catalog data store")]
  275.         HRESULT DataStoreMinorVersion( [out, retval] long* retval );
  276.  
  277.         [id(12), helpstring("Reads selected objects from the catalog data store")]
  278.         HRESULT PopulateByKey( [in] SAFEARRAY( VARIANT ) aKeys );
  279.  
  280.         [id(13), helpstring("Reserved for future use")]
  281.         HRESULT PopulateByQuery( [in] BSTR bstrQueryString, [in] long lQueryType );
  282.     };
  283.  
  284.  
  285. [
  286.     uuid(F618C513-DFB8-11d1-A2CF-00805FC79235),
  287.     version(1.0),
  288.     helpstring("COM + 1.0 Admin Type Library")
  289. ]
  290. library COMAdmin
  291. {
  292.     importlib("stdole32.tlb");
  293.  
  294.     [
  295.         uuid(F618C514-DFB8-11d1-A2CF-00805FC79235),
  296.         helpstring("COM Admin Class")
  297.     ]
  298.     coclass COMAdminCatalog
  299.     {
  300.         [default] interface ICOMAdminCatalog;
  301.     };
  302.  
  303.  
  304.     [
  305.         uuid(F618C515-DFB8-11d1-A2CF-00805FC79235),
  306.         helpstring("COM Admin Catalog Object Class")
  307.     ]
  308.     coclass COMAdminCatalogObject
  309.     {
  310.         [default] interface ICatalogObject;
  311.     };
  312.  
  313.     [
  314.         uuid(F618C516-DFB8-11d1-A2CF-00805FC79235),
  315.         helpstring("COM Admin Catalog Collection Class")
  316.     ]
  317.     coclass COMAdminCatalogCollection
  318.     {
  319.         [default] interface ICatalogCollection;
  320.     };
  321.  
  322.  
  323.     typedef[helpstring("Application install options - these options can be or'ed together")]
  324.     enum COMAdminApplicationInstallOptions{ 
  325.           COMAdminInstallNoUsers = 0  //Default
  326.         , COMAdminInstallUsers = 1 
  327.         , COMAdminInstallForceOverwriteOfFiles = 2
  328.     }COMAdminApplicationInstallOptions;
  329.     
  330.     typedef[helpstring("Application export options - these options can be or'ed together")]
  331.     enum COMAdminApplicationExportOptions{ 
  332.         COMAdminExportNoUsers = 0 ,  //Default
  333.         COMAdminExportUsers = 1 ,
  334.         COMAdminExportApplicationProxy = 2,
  335.         COMAdminExportForceOverwriteOfFiles = 4,
  336.     }COMAdminApplicationExportOptions;
  337.  
  338.     typedef[helpstring("Threading Model Enumerations")]
  339.     enum COMAdminThreadingModels{ 
  340.           COMAdminThreadingModelApartment = 0
  341.         , COMAdminThreadingModelFree = 1
  342.         , COMAdminThreadingModelMain = 2
  343.         , COMAdminThreadingModelBoth = 3
  344.         , COMAdminThreadingModelNeutral = 4
  345.         , COMAdminThreadingModelNotSpecified = 5
  346.     }    COMAdminThreadingModels;
  347.  
  348.     typedef[helpstring("Transaction Settings Enumerations")] 
  349.     enum COMAdminTransactionOptions
  350.     { 
  351.         COMAdminTransactionIgnored = 0, 
  352.         COMAdminTransactionNone, 
  353.         COMAdminTransactionSupported, 
  354.         COMAdminTransactionRequired, 
  355.         COMAdminTransactionRequiresNew,
  356.     }    COMAdminTransactionOptions;
  357.  
  358.     typedef[helpstring("Synchronization Settings Enumerations")] 
  359.     enum COMAdminSynchronizationOptions
  360.     { 
  361.         COMAdminSynchronizationIgnored = 0, 
  362.         COMAdminSynchronizationNone, 
  363.         COMAdminSynchronizationSupported, 
  364.         COMAdminSynchronizationRequired, 
  365.         COMAdminSynchronizationRequiresNew,
  366.     }    COMAdminSynchronizationOptions;
  367.  
  368.     typedef[helpstring("Activation Settings Enumerations")] 
  369.     enum COMAdminActivationOptions
  370.     { 
  371.         COMAdminActivationInproc = 0, 
  372.         COMAdminActivationLocal, 
  373.     }    COMAdminActivationOptions;
  374.  
  375.     typedef[helpstring("Access Level Settings Enumerations")] 
  376.     enum COMAdminAccessChecksLevelOptions
  377.     { 
  378.         COMAdminAccessChecksApplicationLevel = 0, 
  379.         COMAdminAccessChecksApplicationComponentLevel = 1, 
  380.     }    COMAdminAccessChecksLevelOptions;
  381.  
  382.     typedef[helpstring("Authentication Level Settings Enumerations")] 
  383.     enum COMAdminAuthenticationLevelOptions
  384.     { 
  385.         COMAdminAuthenticationDefault = 0, 
  386.         COMAdminAuthenticationNone, 
  387.         COMAdminAuthenticationConnect, 
  388.         COMAdminAuthenticationCall,
  389.         COMAdminAuthenticationPacket, 
  390.         COMAdminAuthenticationIntegrity, 
  391.         COMAdminAuthenticationPrivacy, 
  392.     }    COMAdminAuthenticationLevelOptions;
  393.  
  394.     typedef[helpstring("Impersonation Level Settings Enumerations")] 
  395.     enum COMAdminImpersonationLevelOptions
  396.     { 
  397.         COMAdminImpersonationAnonymous = 1, 
  398.         COMAdminImpersonationIdentify, 
  399.         COMAdminImpersonationImpersonate, 
  400.         COMAdminImpersonationDelegate, 
  401.     }    COMAdminImpersonationLevelOptions;
  402.  
  403.     typedef[helpstring("Authentication Capabilities Settings Enumerations")] 
  404.     enum COMAdminAuthenticationCapabilitiesOptions
  405.     { 
  406.         COMAdminAuthenticationCapabilitiesNone                    = 0x0, 
  407.         COMAdminAuthenticationCapabilitiesStaticCloaking        = 0x20, 
  408.         COMAdminAuthenticationCapabilitiesDynamicCloaking        = 0x40, 
  409.         COMAdminAuthenticationCapabilitiesSecureReference        = 0x2,  
  410.     }    COMAdminAuthenticationCapabilitiesOptions;
  411.  
  412.     typedef[helpstring("Operating System Enumerations")] 
  413.     enum COMAdminOS
  414.     { 
  415.         COMAdminOSWindows3_1                     = 1, 
  416.         COMAdminOSWindows9x                        = 2, 
  417.         COMAdminOSWindowsNT                        = 3, 
  418.         COMAdminOSWindowsNTEnterprise            = 4, 
  419.     }    COMAdminOS;
  420.  
  421.     typedef[helpstring("Service Enumerations")] 
  422.     enum COMAdminServiceOptions
  423.     { 
  424.         COMAdminServiceLoadBalanceRouter         = 1, 
  425.         COMAdminServiceIMDB                        = 2, 
  426.     }    COMAdminServiceOptions;
  427.  
  428.     typedef[helpstring("Service Status Enumerations")] 
  429.     enum COMAdminServiceStatusOptions
  430.     { 
  431.         COMAdminServiceStopped    = 0,
  432.         COMAdminServiceStartPending,
  433.         COMAdminServiceStopPending,
  434.         COMAdminServiceRunning,
  435.         COMAdminServiceContinuePending,
  436.         COMAdminServicePausePending,
  437.         COMAdminServicePaused,
  438.         COMAdminServiceUnknownState,
  439.     }    COMAdminServiceStatusOptions;
  440.  
  441.     typedef[helpstring("File Flags")]
  442.     enum COMAdminFileFlags
  443.     { 
  444.         [helpstring("File is Loadable")]
  445.         COMAdminFileFlagLoadable                            = 0x00000001
  446.  
  447.         , [helpstring("File contains COM Objects")]
  448.         COMAdminFileFlagCOM                                    = 0x00000002
  449.  
  450.         , [helpstring("File contains a proxy stub")]
  451.         COMAdminFileFlagContainsPS                            = 0x00000004
  452.  
  453.         , [helpstring("File contains a component")]
  454.         COMAdminFileFlagContainsComp                        = 0x00000008
  455.                
  456.         , [helpstring("File contains a typelibrary")]
  457.         COMAdminFileFlagContainsTLB                            = 0x00000010
  458.                
  459.         , [helpstring("File contains self registration code")]
  460.         COMAdminFileFlagSelfReg                                = 0x00000020
  461.        
  462.         , [helpstring("File contains self un-registration code")]
  463.         COMAdminFileFlagSelfUnReg                            = 0x00000040
  464.        
  465.         , [helpstring("File is unloadable")]
  466.         COMAdminFileFlagUnloadableDLL                        = 0x00000080
  467.        
  468.         , [helpstring("File does not exist")]
  469.         COMAdminFileFlagDoesNotExist                        = 0x00000100
  470.      
  471.         , [helpstring("File is already installed")]
  472.         COMAdminFileFlagAlreadyInstalled                    = 0x00000200
  473.        
  474.         , [helpstring("File contains a bad typelibrary")]
  475.         COMAdminFileFlagBadTLB                                = 0x00000400
  476.       
  477.         , [helpstring("GetClassObj call failed on file")]
  478.         COMAdminFileFlagGetClassObjFailed                    = 0x00000800
  479.        
  480.         , [helpstring("Class is not available")]
  481.         COMAdminFileFlagClassNotAvailable                    = 0x00001000
  482.      
  483.         , [helpstring("File uses a registrar to register")]
  484.         COMAdminFileFlagRegistrar                            = 0x00002000
  485.        
  486.         , [helpstring("File does not use a registrar to register")]
  487.         COMAdminFileFlagNoRegistrar                            = 0x00004000
  488.      
  489.         , [helpstring("Regsvr call on file failed")]
  490.         COMAdminFileFlagDLLRegsvrFailed                        = 0x00008000
  491.      
  492.         , [helpstring("Register typelibrary call on file failed")]
  493.         COMAdminFileFlagRegTLBFailed                        = 0x00010000
  494.        
  495.         , [helpstring("Registrar failed to register file")]
  496.         COMAdminFileFlagRegistrarFailed                        = 0x00020000
  497.        
  498.         , [helpstring("Generic file error ocurred")]
  499.         COMAdminFileFlagError                                = 0x00040000
  500.     }COMAdminFileFlags;
  501.  
  502.     typedef[helpstring("Component Flags")]
  503.     enum COMAdminComponentFlags
  504.     { 
  505.         [helpstring("Component type information not found")]
  506.         COMAdminCompFlagTypeInfoFound                        = 0x00000001
  507.         
  508.         , [helpstring("COM Plus Properties Found")]
  509.         COMAdminCompFlagCOMPlusPropertiesFound                = 0x00000002
  510.         
  511.         , [helpstring("Proxy Found")]
  512.         COMAdminCompFlagProxyFound                            = 0x00000004
  513.         
  514.         , [helpstring("Interfaces Found")]
  515.         COMAdminCompFlagInterfacesFound                        = 0x00000008
  516.        
  517.         , [helpstring("Component is already installed")]
  518.         COMAdminCompFlagAlreadyInstalled                    = 0x00000010
  519.        
  520.         , [helpstring("Component is not in application")]
  521.         COMAdminCompFlagNotInApplication                    = 0x00000020
  522.     }COMAdminComponentFlags;
  523.  
  524.     const  wchar_t *COMAdminCollectionRoot = "Root";
  525.     const  wchar_t *COMAdminCollectionApplications = "Applications";
  526.     const  wchar_t *COMAdminCollectionComponents = "Components";
  527.     const  wchar_t *COMAdminCollectionComputerList = "ComputerList";
  528.     const  wchar_t *COMAdminCollectionApplicationCluster = "ApplicationCluster";
  529.     const  wchar_t *COMAdminCollectionLocalComputer = "LocalComputer";
  530.     const  wchar_t *COMAdminCollectionIMDBDataSources = "IMDBDataSources";
  531.     const  wchar_t *COMAdminCollectionInprocServers = "InprocServers";
  532.     const  wchar_t *COMAdminCollectionRelatedCollectionInfo = "RelatedCollectionInfo";
  533.     const  wchar_t *COMAdminCollectionPropertyInfo = "PropertyInfo";
  534.     const  wchar_t *COMAdminCollectionRoles = "Roles";
  535.     const  wchar_t *COMAdminCollectionErrorInfo = "ErrorInfo";
  536.     const  wchar_t *COMAdminCollectionInterfacesForComponent = "InterfacesForComponent";
  537.     const  wchar_t *COMAdminCollectionRolesForComponent = "RolesForComponent";
  538.     const  wchar_t *COMAdminCollectionMethodsForInterface = "MethodsForInterface";
  539.     const  wchar_t *COMAdminCollectionRolesForInterface = "RolesForInterface";
  540.     const  wchar_t *COMAdminCollectionRolesForMethod = "RolesForMethod";
  541.     const  wchar_t *COMAdminCollectionIMDBDataSourceTables = "IMDBDataSourceTables";
  542.     const  wchar_t *COMAdminCollectionUsersInRole = "UsersInRole";
  543.     const  wchar_t *COMAdminCollectionDCOMProtocols = "DCOMProtocols";
  544.  
  545.  
  546.  
  547.     // VB style error codes
  548.         
  549.     typedef[helpstring("Error codes (HRESULTS)")]
  550.     enum COMAdminErrorCodes
  551.     { 
  552.           [helpstring("Errors occurred accessing one or more objects - the ErrorInfo collection may have more detail")] 
  553.             COMAdminErrObjectErrors     =     COMADMIN_E_OBJECTERRORS
  554.  
  555.         , [helpstring("One or more of the object's properties are missing or invalid")] 
  556.             COMAdminErrObjectInvalid     =     COMADMIN_E_OBJECTINVALID
  557.  
  558.         , [helpstring("The object was not found in the catalog")] 
  559.             COMAdminErrKeyMissing     =     COMADMIN_E_KEYMISSING
  560.  
  561.         , [helpstring("The object is already registered")] 
  562.             COMAdminErrAlreadyInstalled     =     COMADMIN_E_ALREADYINSTALLED
  563.  
  564.         , [helpstring("Error occurred writing to the application file")] 
  565.             COMAdminErrAppFileWriteFail     =     COMADMIN_E_APP_FILE_WRITEFAIL
  566.  
  567.         , [helpstring("Error occurred reading the application file")] 
  568.             COMAdminErrAppFileReadFail     =     COMADMIN_E_APP_FILE_READFAIL
  569.  
  570.         , [helpstring("Invalid version number in application file")] 
  571.             COMAdminErrAppFileVersion     =     COMADMIN_E_APP_FILE_VERSION
  572.  
  573.         , [helpstring("The file path is invalid")] 
  574.             COMAdminErrBadPath     =     COMADMIN_E_BADPATH
  575.  
  576.         , [helpstring("The application is already installed")] 
  577.             COMAdminErrApplicationExists     =     COMADMIN_E_APPLICATIONEXISTS
  578.  
  579.         , [helpstring("The role already exists")] 
  580.             COMAdminErrRoleExists     =     COMADMIN_E_ROLEEXISTS
  581.  
  582.         , [helpstring("An error occurred copying the file")] 
  583.             COMAdminErrCantCopyFile     =     COMADMIN_E_CANTCOPYFILE
  584.  
  585.         , [helpstring("One or more users are not valid")] 
  586.             COMAdminErrNoUser     =     COMADMIN_E_NOUSER
  587.  
  588.         , [helpstring("One or more users in the application file are not valid")] 
  589.             COMAdminErrInvalidUserids     =     COMADMIN_E_INVALIDUSERIDS
  590.  
  591.         , [helpstring("The component's CLSID is missing or corrupt")] 
  592.             COMAdminErrNoRegistryCLSID     =     COMADMIN_E_NOREGISTRYCLSID
  593.  
  594.         , [helpstring("The component's progID is missing or corrupt")] 
  595.             COMAdminErrBadRegistryProgID     =     COMADMIN_E_BADREGISTRYPROGID
  596.  
  597.         , [helpstring("Unable to set required authentication level for update request")] 
  598.             COMAdminErrAuthenticationLevel     =     COMADMIN_E_AUTHENTICATIONLEVEL
  599.  
  600.         , [helpstring("The identity or password set on the application is not valid")] 
  601.             COMAdminErrUserPasswdNotValid     =     COMADMIN_E_USERPASSWDNOTVALID
  602.  
  603.         , [helpstring("Application file CLSIDs or IIDs do not match corresponding DLLs")] 
  604.             COMAdminErrCLSIDOrIIDMismatch     =     COMADMIN_E_CLSIDORIIDMISMATCH
  605.  
  606.         , [helpstring("Interface information is either missing or changed")] 
  607.             COMAdminErrRemoteInterface     =     COMADMIN_E_REMOTEINTERFACE
  608.  
  609.         , [helpstring("DllRegisterServer failed on component install")] 
  610.             COMAdminErrDllRegisterServer     =     COMADMIN_E_DLLREGISTERSERVER
  611.  
  612.         , [helpstring("No server file share available")] 
  613.             COMAdminErrNoServerShare     =     COMADMIN_E_NOSERVERSHARE
  614.  
  615.         , [helpstring("DLL could not be loaded")] 
  616.             COMAdminErrDllLoadFailed     =     COMADMIN_E_DLLLOADFAILED
  617.  
  618.         , [helpstring("The registered TypeLib ID is not valid")] 
  619.             COMAdminErrBadRegistryLibID     =     COMADMIN_E_BADREGISTRYLIBID
  620.  
  621.         , [helpstring("Application install directory not found")] 
  622.             COMAdminErrAppDirNotFound     =     COMADMIN_E_APPDIRNOTFOUND
  623.  
  624.         , [helpstring("Errors occurred while in the component registrar")] 
  625.             COMAdminErrRegistrarFailed     =     COMADMIN_E_REGISTRARFAILED
  626.  
  627.         , [helpstring("The file does not exist")] 
  628.             COMAdminErrCompFileDoesNotExist     =     COMADMIN_E_COMPFILE_DOESNOTEXIST
  629.  
  630.         , [helpstring("The DLL could not be loaded")] 
  631.             COMAdminErrCompFileLoadDLLFail     =     COMADMIN_E_COMPFILE_LOADDLLFAIL
  632.  
  633.         , [helpstring("GetClassObject failed in the DLL")] 
  634.             COMAdminErrCompFileGetClassObj     =     COMADMIN_E_COMPFILE_GETCLASSOBJ
  635.  
  636.         , [helpstring("The DLL does not support the components listed in the TypeLib")] 
  637.             COMAdminErrCompFileClassNotAvail     =     COMADMIN_E_COMPFILE_CLASSNOTAVAIL
  638.  
  639.         , [helpstring("The TypeLib could not be loaded")] 
  640.             COMAdminErrCompFileBadTLB     =     COMADMIN_E_COMPFILE_BADTLB
  641.  
  642.         , [helpstring("The file does not contain components or component information")] 
  643.             COMAdminErrCompFileNotInstallable     =     COMADMIN_E_COMPFILE_NOTINSTALLABLE
  644.  
  645.         , [helpstring("Changes to this object and its sub-objects have been disabled")] 
  646.             COMAdminErrNotChangeable     =     COMADMIN_E_NOTCHANGEABLE
  647.  
  648.         , [helpstring("The delete function has been disabled for this object")] 
  649.             COMAdminErrNotDeletable     =     COMADMIN_E_NOTDELETEABLE
  650.  
  651.         , [helpstring("The server catalog version is not supported")] 
  652.             COMAdminErrSession     =     COMADMIN_E_SESSION
  653.  
  654.         , [helpstring("The component move was disallowed, because the source or destination application is either a system application or currently locked against changes")] 
  655.             COMAdminErrCompMoveLocked     =     COMADMIN_E_COMP_MOVE_LOCKED
  656.  
  657.         , [helpstring("The component move failed because the destination package no longer exists")] 
  658.             COMAdminErrCompMoveBadDest     =     COMADMIN_E_COMP_MOVE_BAD_DEST
  659.  
  660.         , [helpstring("The system was unable to register the TypeLib")] 
  661.             COMAdminErrRegisterTLB     =     COMADMIN_E_REGISTERTLB
  662.  
  663.         , [helpstring("This operation can not be performed on the system application")] 
  664.             COMAdminErrSystemApp     =     COMADMIN_E_SYSTEMAPP
  665.  
  666.         , [helpstring("The component registrar referenced in this file is not available")] 
  667.             COMAdminErrCompFileNoRegistrar     =     COMADMIN_E_COMPFILE_NOREGISTRAR
  668.  
  669.         , [helpstring("A component in the same DLL is already installed")] 
  670.             COMAdminErrCoReqCompInstalled     =     COMADMIN_E_COREQCOMPINSTALLED
  671.  
  672.         , [helpstring("The service is not installed")] 
  673.             COMAdminErrServiceNotInstalled     =     COMADMIN_E_SERVICENOTINSTALLED
  674.  
  675.         , [helpstring("One or more property settings are either invalid or in conflict with each other")] 
  676.             COMAdminErrPropertySaveFailed     =     COMADMIN_E_PROPERTYSAVEFAILED
  677.  
  678.         , [helpstring("The object you are attempting to add or rename already exists")] 
  679.             COMAdminErrObjectExists     =     COMADMIN_E_OBJECTEXISTS
  680.  
  681.         , [helpstring("The registration file is corrupt")] 
  682.             COMAdminErrRegFileCorrupt     =     COMADMIN_E_REGFILE_CORRUPT
  683.  
  684.         , [helpstring("The property value is too large")] 
  685.             COMAdminErrPropertyOverflow     =     COMADMIN_E_PROPERTY_OVERFLOW
  686.  
  687.         , [helpstring("Object was not found in registry")] 
  688.             COMAdminErrNotInRegistry     =     COMADMIN_E_NOTINREGISTRY
  689.  
  690.         , [helpstring("This object is not poolable")] 
  691.             COMAdminErrObjectNotPoolable     =     COMADMIN_E_OBJECTNOTPOOLABLE
  692.  
  693.         , [helpstring("A CLSID with the same GUID as the new application ID is already installed on this machine")] 
  694.             COMAdminErrApplidMatchesClsid     =     COMADMIN_E_APPLID_MATCHES_CLSID
  695.  
  696.         , [helpstring("A role assigned to a component, interface, or method did not exist in the application")] 
  697.             COMAdminErrRoleDoesNotExist     =     COMADMIN_E_ROLE_DOES_NOT_EXIST
  698.  
  699.         , [helpstring("You must have components in an application in order to start the application.")] 
  700.             COMAdminErrStartAppNeedsComponents     =     COMADMIN_E_START_APP_NEEDS_COMPONENTS
  701.  
  702.         , [helpstring("This operation is not enabled on this platform.")] 
  703.             COMAdminErrRequiresDifferentPlatform     =     COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM
  704.  
  705.         , [helpstring("The queuing service is not installed")] 
  706.             COMAdminErrQueuingServiceNotAvailable     =     COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE
  707.  
  708.         , [helpstring("One of the objects being inserted or updated does not belong to a valid parent collection")] 
  709.             COMAdminErrObjectParentMissing     =     COMADMIN_E_OBJECT_PARENT_MISSING
  710.  
  711.         , [helpstring("One of the objects being updated or worked on does not exist")] 
  712.             COMAdminErrObjectDoesNotExist     =     COMADMIN_E_OBJECT_DOES_NOT_EXIST
  713.  
  714.         , [helpstring("Application Proxy is not exportable")] 
  715.             COMAdminErrCanNotExportAppProxy     =     COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY
  716.  
  717.         , [helpstring("Failed to start application because it is either a library application or an application proxy")] 
  718.             COMAdminErrCanNotStartApp     =     COMADMIN_E_CAN_NOT_START_APP 
  719.             
  720.         , [helpstring("System application is not exportable")] 
  721.             COMAdminErrCanNotExportSystemApp     =     COMADMIN_E_CAN_NOT_EXPORT_SYS_APP
  722.  
  723.         , [helpstring("Can not subscribe to this component (the component may have been imported)")]
  724.             COMAdminErrCanNotSubscribeToComponent  = COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT
  725.  
  726.     }COMAdminErrorCodes;
  727.  
  728.     
  729. };
  730.