windows-nt/Source/XPSP1/NT/public/sdk/inc/comadmin.idl
2020-09-26 16:20:57 +08:00

1029 lines
40 KiB
Plaintext

// comadmin.idl : IDL source for comadmin.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (comadmin.tlb) and marshalling code.
//
cpp_quote("// ----------------------------------------------------------------------- ")
cpp_quote("// comadmin.h -- COM Administration Programming Interfaces ")
cpp_quote("// ")
cpp_quote("// This file provides the prototypes for the APIs and COM interfaces ")
cpp_quote("// used by Microsoft COM applications. ")
cpp_quote("// ")
cpp_quote("// Copyright (c) 1995-2001 Microsoft Corporation. All Rights Reserved. ")
cpp_quote("// ----------------------------------------------------------------------- ")
cpp_quote("#include <objbase.h>")
cpp_quote("#ifndef DECLSPEC_UUID")
cpp_quote("#if _MSC_VER >= 1100")
cpp_quote("#define DECLSPEC_UUID(x) __declspec(uuid(x))")
cpp_quote("#else")
cpp_quote("#define DECLSPEC_UUID(x)")
cpp_quote("#endif")
cpp_quote("#endif")
#include "winerror.h"
import "unknwn.idl";
// ICOMAdminCatalog
[
object,
uuid(DD662187-DFC2-11d1-A2CF-00805FC79235),
dual,
helpstring("ICOMAdminCatalog Interface"),
pointer_default(unique)
]
interface ICOMAdminCatalog : IDispatch
{
import "oaidl.idl";
[ id(1), helpstring("Gets a collection on the local catalog - without reading any objects from the catalog data store") ]
HRESULT GetCollection(
[in] BSTR bstrCollName,
[out, retval] IDispatch ** ppCatalogCollection);
[ id(2), helpstring("Connect to a catalog server and get the Root Collection") ]
HRESULT Connect(
[in] BSTR bstrCatalogServerName,
[out, retval] IDispatch ** ppCatalogCollection);
[ propget, id(3), helpstring("Gets the major version number of the COM Admin objects") ]
HRESULT MajorVersion([out, retval] long * plMajorVersion);
[ propget, id(4), helpstring("Gets the minor version number of the COM Admin objects") ]
HRESULT MinorVersion([out, retval] long * plMinorVersion);
[ id(5), helpstring("---")]
HRESULT GetCollectionByQuery(
[in] BSTR bstrCollName,
[in] SAFEARRAY(VARIANT) * ppsaVarQuery,
[out, retval] IDispatch ** ppCatalogCollection);
[ id(6), helpstring("Imports a component that is already registered as an InProc server") ]
HRESULT ImportComponent([in] BSTR bstrApplIDOrName, [in] BSTR bstrCLSIDOrProgID);
[ id(7), helpstring("Installs a component into an application") ]
HRESULT InstallComponent(
[in] BSTR bstrApplIDOrName,
[in] BSTR bstrDLL,
[in] BSTR bstrTLB,
[in] BSTR bstrPSDLL);
[ id(8), helpstring("Initiates shutdown of an application server process") ]
HRESULT ShutdownApplication([in] BSTR bstrApplIDOrName);
[ id(9), helpstring("Exports an application or client application to be installed on a different machine") ]
HRESULT ExportApplication(
[in] BSTR bstrApplIDOrName,
[in] BSTR bstrApplicationFile,
[in] long lOptions);
// Turn off warning about how optional params should be of type VARIANT. This interface
// has shipped so we can't fix it correctly, unfortunately.
midl_pragma warning( disable : 2400)
[ id(10), helpstring("Imports an application from a file") ]
HRESULT InstallApplication(
[in] BSTR bstrApplicationFile,
[in, optional] BSTR bstrDestinationDirectory,
[in, optional] long lOptions,
[in, optional] BSTR bstrUserId,
[in, optional] BSTR bstrPassword,
[in, optional] BSTR bstrRSN);
// Turn default behavior back on for this warning:
midl_pragma warning( default : 2400)
[ id(11), helpstring("Stops the router service") ]
HRESULT StopRouter();
[ id(12), helpstring("Refreshes the data being used by the router service") ]
HRESULT RefreshRouter();
[ id(13), helpstring("Starts the router service") ]
HRESULT StartRouter();
[ id(14), helpstring("Reserved method 1") ]
HRESULT Reserved1();
[ id(15), helpstring("Reserved method 2") ]
HRESULT Reserved2();
[ id(16), helpstring("Installs components into an application from multiple files") ]
HRESULT InstallMultipleComponents(
[in] BSTR bstrApplIDOrName,
[in] SAFEARRAY(VARIANT) * ppsaVarFileNames,
[in] SAFEARRAY(VARIANT) * ppsaVarCLSIDs);
[ id(17), helpstring("Returns information about components found in the files") ]
HRESULT GetMultipleComponentsInfo(
[in] BSTR bstrApplIdOrName,
[in] SAFEARRAY(VARIANT) * ppsaVarFileNames,
[out] SAFEARRAY(VARIANT) * ppsaVarCLSIDs,
[out] SAFEARRAY(VARIANT) * ppsaVarClassNames,
[out] SAFEARRAY(VARIANT) * ppsaVarFileFlags,
[out] SAFEARRAY(VARIANT) * ppsaVarComponentFlags);
[ id(18), helpstring("Refreshes all component registration information") ]
HRESULT RefreshComponents();
[ id(19), helpstring("Registration database backup") ]
HRESULT BackupREGDB([in] BSTR bstrBackupFilePath);
[ id(20), helpstring("Registration database restore (must reboot after)") ]
HRESULT RestoreREGDB([in] BSTR bstrBackupFilePath);
[ id(21), helpstring("Returns information about an application that is about to be installed") ]
HRESULT QueryApplicationFile(
[in] BSTR bstrApplicationFile,
[out] BSTR * pbstrApplicationName,
[out] BSTR * pbstrApplicationDescription,
[out] VARIANT_BOOL * pbHasUsers,
[out] VARIANT_BOOL * pbIsProxy,
[out] SAFEARRAY(VARIANT) * ppsaVarFileNames);
[ id(22), helpstring("Launches application server process") ]
HRESULT StartApplication([in] BSTR bstrApplIdOrName);
[ id(23), helpstring("Checks the status of a COM+ related service") ]
HRESULT ServiceCheck([in] long lService, [out, retval] long * plStatus);
[ id(24), helpstring("Installs multiple event classes into an application") ]
HRESULT InstallMultipleEventClasses(
[in] BSTR bstrApplIdOrName,
[in] SAFEARRAY(VARIANT) * ppsaVarFileNames,
[in] SAFEARRAY(VARIANT) * ppsaVarCLSIDS);
[ id(25), helpstring("Installs a event class into an application (if one is provided)") ]
HRESULT InstallEventClass(
[in] BSTR bstrApplIdOrName,
[in] BSTR bstrDLL,
[in] BSTR bstrTLB,
[in] BSTR bstrPSDLL);
[ id(26), helpstring("Gets a list of event classes that implement a specified interface") ]
HRESULT GetEventClassesForIID(
[in] BSTR bstrIID,
[out] SAFEARRAY(VARIANT) * ppsaVarCLSIDs,
[out] SAFEARRAY(VARIANT) * ppsaVarProgIDs,
[out] SAFEARRAY(VARIANT) * ppsaVarDescriptions);
}
typedef[ helpstring("InUse values for IsSafeToDelete") ]
enum COMAdminInUse
{
COMAdminNotInUse = 0x00000000,
COMAdminInUseByCatalog = 0x00000001,
COMAdminInUseByRegistryUnknown = 0x00000002,
COMAdminInUseByRegistryProxyStub = 0x00000003,
COMAdminInUseByRegistryTypeLib = 0x00000004,
COMAdminInUseByRegistryClsid = 0x00000005,
} COMAdminInUse;
// ICOMAdminCatalog2 -- new in Windows XP (Whistler)
[
object,
uuid(790C6E0B-9194-4cc9-9426-A48A63185696),
//uuid(c6a4e9ef-432e-4f32-9107-71d2b6fd2c33),
dual,
helpstring("ICOMAdminCatalog2 Interface"),
pointer_default(unique)
]
interface ICOMAdminCatalog2 : ICOMAdminCatalog
{
[ id(27), helpstring("Get a catalog collection") ]
HRESULT GetCollectionByQuery2(
[in] BSTR bstrCollectionName,
[in] VARIANT * pVarQueryStrings, // VT_BSTR or array of VT_BSTRs
[out, retval] IDispatch ** ppCatalogCollection);
[ id(28), helpstring("Get an Application Instance ID from a Process ID") ]
HRESULT GetApplicationInstanceIDFromProcessID(
[in] long lProcessID,
[out, retval] BSTR * pbstrApplicationInstanceID);
// Shutdown, Pause, Resume, Recycle, IsApplicationInstancePaused accept
// a VT_BSTR of ApplicationInstanceID, or VT_ARRAY of VT_VARIANT BSTRs
// of ApplicationInstanceIDs, or VT_DISPATCH/VT_UNKNOWN of an
// ICatalogObject or an ICatalogCollection collection
[ id(29), helpstring("Initiate shutdown of the specified application server processes") ]
HRESULT ShutdownApplicationInstances(
[in] VARIANT * pVarApplicationInstanceID); // single VT_BSTR or an array
[ id(30), helpstring("Pause one or more application server processes") ]
HRESULT PauseApplicationInstances(
[in] VARIANT * pVarApplicationInstanceID); // single VT_BSTR or an array
[ id(31), helpstring("Resume one or more application server processes") ]
HRESULT ResumeApplicationInstances(
[in] VARIANT * pVarApplicationInstanceID); // single VT_BSTR or an array
[ id(32), helpstring("Recycle one or more application server processes") ]
HRESULT RecycleApplicationInstances(
[in] VARIANT * pVarApplicationInstanceID, // single VT_BSTR or an array
[in] long lReasonCode);
[ id(33), helpstring("Return VARIANT_TRUE if ANY application instances are paused") ]
HRESULT AreApplicationInstancesPaused(
[in] VARIANT * pVarApplicationInstanceID, // single VT_BSTR or an array
[out, retval] VARIANT_BOOL * pVarBoolPaused); // true iff ANY are paused
[ id(34), helpstring("Dump an image of this application process to disk") ]
HRESULT DumpApplicationInstance(
[in] BSTR bstrApplicationInstanceID, // one process only
[in] BSTR bstrDirectory,
[in] long lMaxImages,
[out, retval] BSTR * pbstrDumpFile);
[ propget, id(35), helpstring("Is the application process dump feature supported on this server")]
HRESULT IsApplicationInstanceDumpSupported([out, retval] VARIANT_BOOL * pVarBoolDumpSupported);
[ id(36), helpstring("Configure an application to run as an NT service") ]
HRESULT CreateServiceForApplication(
[in] BSTR bstrApplicationIDOrName,
[in] BSTR bstrServiceName,
[in] BSTR bstrStartType,
[in] BSTR bstrErrorControl,
[in] BSTR bstrDependencies,
[in] BSTR bstrRunAs,
[in] BSTR bstrPassword,
[in] VARIANT_BOOL bDesktopOk);
[ id(37), helpstring("Un-configure an application running as an NT service") ]
HRESULT DeleteServiceForApplication([in] BSTR bstrApplicationIDOrName);
[ id(38), helpstring("Return the Partition ID for the specified Application") ]
HRESULT GetPartitionID(
[in] BSTR bstrApplicationIDOrName,
[out, retval] BSTR * pbstrPartitionID);
[ id(39), helpstring("Return the Partition name for the specified Application") ]
HRESULT GetPartitionName(
[in] BSTR bstrApplicationIDOrName,
[out, retval] BSTR * pbstrPartitionName);
[ propput, id(40), helpstring("Set the current destination Partition") ]
HRESULT CurrentPartition([in] BSTR bstrPartitionIDOrName);
[ propget, id(41), helpstring("Get the current Partition ID") ]
HRESULT CurrentPartitionID([out, retval] BSTR * pbstrPartitionID);
[ propget, id(42), helpstring("Get the current Partition name") ]
HRESULT CurrentPartitionName([out, retval] BSTR * pbstrPartitionName );
[ propget, id(43), helpstring("Get the Global Partition ID") ]
HRESULT GlobalPartitionID([out,retval] BSTR * pbstrGlobalPartitionID);
[ id(44), helpstring("Flush the user-to-default Partition cache") ]
HRESULT FlushPartitionCache();
[ id(45), helpstring("Copy one or more Applications from Partition to Partition") ]
HRESULT CopyApplications(
[in] BSTR bstrSourcePartitionIDOrName,
[in] VARIANT * pVarApplicationID, // not application names, just GUIDs
[in] BSTR bstrDestinationPartitionIDOrName);
[ id(46), helpstring("Copy one or more components from one Application to an Application in a different Partition") ]
HRESULT CopyComponents(
[in] BSTR bstrSourceApplicationIDOrName,
[in] VARIANT * pVarCLSIDOrProgID, // VT_BSTR or array of VT_BSTR
[in] BSTR bstrDestinationApplicationIDOrName);
[ id(47), helpstring("Move one or more components from an Application to another Application in a different Partition") ]
HRESULT MoveComponents(
[in] BSTR bstrSourceApplicationIDOrName,
[in] VARIANT * pVarCLSIDOrProgID, // VT_BSTR or array of VT_BSTR
[in] BSTR bstrDestinationApplicationIDOrName);
[ id(48), helpstring("Create an alias for component configuration while retaining the implementation") ]
HRESULT AliasComponent(
[in] BSTR bstrSrcApplicationIDOrName,
[in] BSTR bstrCLSIDOrProgID,
[in] BSTR bstrDestApplicationIDOrName, // NULL for same as src
[in] BSTR bstrNewProgId,
[in] BSTR bstrNewClsid); // may be a NULL string
[ id(49), helpstring("Checks whether a DLL is in use by catalog or registry") ]
HRESULT IsSafeToDelete(
[in] BSTR bstrDllName,
[out, retval] COMAdminInUse * pCOMAdminInUse);
[ id(50), helpstring("Import the specified classes as non-configured components") ]
HRESULT ImportUnconfiguredComponents(
[in] BSTR bstrApplicationIDOrName,
[in] VARIANT * pVarCLSIDOrProgID, // VT_BSTR or an array of VT_BSTR
[in, optional] VARIANT * pVarComponentType); // 1=32-bit, 2-64-bit, omitted = natural bitness for platform
[ id(51), helpstring("Promote the specified classes to become configured COM+ components") ]
HRESULT PromoteUnconfiguredComponents(
[in] BSTR bstrApplicationIDOrName,
[in] VARIANT * pVarCLSIDOrProgID, // VT_BSTR or an array of VT_BSTR
[in, optional] VARIANT * pVarComponentType); // 1=32-bit, 2-64-bit, omitted = natural bitness for platform
[ id(52), helpstring("Import one or more components that are already registered as an inproc server in the 32 or 64 bit registry") ]
HRESULT ImportComponents(
[in] BSTR bstrApplicationIDOrName,
[in] VARIANT * pVarCLSIDOrProgID, // VT_BSTR or an array of VT_BSTR
[in, optional] VARIANT * pVarComponentType); // 1=32-bit, 2=64-bit, omitted = natural bitness for platform
[ propget, id(53), helpstring("Determine if the target catalog server is 64 bit") ]
HRESULT Is64BitCatalogServer([out, retval] VARIANT_BOOL * pbIs64Bit);
[ id(54), helpstring("Export a Partition to be installed on another machine") ]
HRESULT ExportPartition(
[in] BSTR bstrPartitionIDOrName,
[in] BSTR bstrPartitionFileName,
[in] long lOptions);
[ id(55), helpstring("Import a Partition from a file") ]
HRESULT InstallPartition(
[in] BSTR bstrFileName,
[in] BSTR bstrDestDirectory,
[in] long lOptions,
[in] BSTR bstrUserID,
[in] BSTR bstrPassword,
[in] BSTR bstrRSN);
[ id(56), helpstring("Return information about an application that is about to be installed") ]
HRESULT QueryApplicationFile2(
[in] BSTR bstrApplicationFile,
[out, retval] IDispatch **ppFilesForImport);
[ id(57), helpstring("Return the number of Partitions in which a specified component is installed")]
HRESULT GetComponentVersionCount(
[in] BSTR bstrCLSIDOrProgID,
[out, retval] long *plVersionCount);
}
// ICatalogObject
[
object,
uuid(6eb22871-8a19-11d0-81b6-00a0c9231c29),
dual,
helpstring("ICatalogObject Interface"),
pointer_default(unique)
]
interface ICatalogObject : IDispatch
{
import "oaidl.idl";
[ propget, id(1), helpstring("Gets a property value") ]
HRESULT Value([in] BSTR bstrPropName, [out, retval] VARIANT * pvarRetVal);
[ propput, id(1), helpstring("Sets a property value") ]
HRESULT Value([in] BSTR bstrPropName, [in] VARIANT val);
[ propget, id(2), helpstring("Gets the value of the key property") ]
HRESULT Key([out, retval] VARIANT * pvarRetVal);
[ propget, id(3), helpstring("Gets the name of the object") ]
HRESULT Name([out, retval] VARIANT * pvarRetVal);
[ id(4), helpstring("True if the property cannot be set") ]
HRESULT IsPropertyReadOnly([in] BSTR bstrPropName, [out, retval] VARIANT_BOOL * pbRetVal);
[ propget, id(5), helpstring("True if all properties were successfully read from the catalog data store") ]
HRESULT Valid([out, retval] VARIANT_BOOL * pbRetVal);
[ id(6), helpstring("True if the property cannot be read") ]
HRESULT IsPropertyWriteOnly([in] BSTR bstrPropName, [out, retval] VARIANT_BOOL * pbRetVal);
}
// ICatalogCollection
[
object,
uuid(6eb22872-8a19-11d0-81b6-00a0c9231c29),
dual,
helpstring("ICatalogCollection Interface"),
pointer_default(unique)
]
interface ICatalogCollection : IDispatch
{
import "oaidl.idl";
[ propget, restricted, id(DISPID_NEWENUM) ] // Must be propget.
HRESULT _NewEnum([out, retval] IUnknown ** ppEnumVariant);
[ propget, id(1), helpstring("Returns an object by index") ]
HRESULT Item( [in] long lIndex, [out, retval] IDispatch ** ppCatalogObject);
[ propget, helpstring("Returns number of objects in the collection") ]
HRESULT Count([out, retval] long* plObjectCount);
[ helpstring("Removes an item, given the index") ]
HRESULT Remove([in] long lIndex);
[ helpstring("Adds an object to the collection - returns the new object") ]
HRESULT Add([out, retval] IDispatch ** ppCatalogObject);
[ id(2), helpstring("Reads all the collection objects from the catalog data store") ]
HRESULT Populate();
[ id(3), helpstring("Saves changes made to the collection into the catalog data store") ]
HRESULT SaveChanges([out, retval] long *pcChanges);
[ id(4), helpstring("Gets a collection related to a specific object - without reading any objects from the catalog data store") ]
HRESULT GetCollection(
[in] BSTR bstrCollName,
[in] VARIANT varObjectKey,
[out, retval] IDispatch ** ppCatalogCollection);
[ propget, id(6), helpstring("Gets the name of the collection") ]
HRESULT Name([out, retval] VARIANT * pVarNamel);
[ propget, id(7), helpstring("Returns VARIANT_TRUE if Add is enabled") ]
HRESULT AddEnabled([out, retval] VARIANT_BOOL * pVarBool);
[ propget, id(8), helpstring("Returns VARIANT_TRUE if Remove is enabled") ]
HRESULT RemoveEnabled([out, retval] VARIANT_BOOL * pVarBool);
[ id(9), helpstring("Gets the utility interface") ]
HRESULT GetUtilInterface([out, retval] IDispatch ** ppIDispatch);
[ propget, id(10), helpstring("Gets the major version number of the Catalog data store") ]
HRESULT DataStoreMajorVersion([out, retval] long * plMajorVersion);
[ propget, id(11), helpstring("Gets the minor version number of the Catalog data store") ]
HRESULT DataStoreMinorVersion([out, retval] long * plMinorVersionl);
[ id(12), helpstring("Reads selected objects from the catalog data store") ]
HRESULT PopulateByKey([in] SAFEARRAY(VARIANT) psaKeys);
[ id(13), helpstring("Reserved for future use") ]
HRESULT PopulateByQuery([in] BSTR bstrQueryString, [in] long lQueryType);
}
[
uuid(F618C513-DFB8-11d1-A2CF-00805FC79235),
version(1.0),
helpstring("COM + 1.0 Admin Type Library")
]
library COMAdmin
{
importlib("stdole32.tlb");
[
uuid(F618C514-DFB8-11d1-A2CF-00805FC79235),
helpstring("COM Admin Class")
]
coclass COMAdminCatalog
{
[default] interface ICOMAdminCatalog2;
}
[
uuid(F618C515-DFB8-11d1-A2CF-00805FC79235),
helpstring("COM Admin Catalog Object Class")
]
coclass COMAdminCatalogObject
{
[default] interface ICatalogObject;
}
[
uuid(F618C516-DFB8-11d1-A2CF-00805FC79235),
helpstring("COM Admin Catalog Collection Class")
]
coclass COMAdminCatalogCollection
{
[default] interface ICatalogCollection;
}
typedef[helpstring("ComponentType values for ImportComponentAsLegacy")]
enum COMAdminComponentType
{
COMAdmin32BitComponent = 0x00000001,
COMAdmin64BitComponent = 0x00000002
} COMAdminComponentType;
typedef[helpstring("Application install options - these options can be or'ed together")]
enum COMAdminApplicationInstallOptions
{
COMAdminInstallNoUsers = 0, //Default
COMAdminInstallUsers = 1,
COMAdminInstallForceOverwriteOfFiles = 2
} COMAdminApplicationInstallOptions;
typedef[helpstring("Application export options - these options can be or'ed together")]
enum COMAdminApplicationExportOptions
{
COMAdminExportNoUsers = 0, //Default
COMAdminExportUsers = 1,
COMAdminExportApplicationProxy = 2,
COMAdminExportForceOverwriteOfFiles = 4,
COMAdminExportIn10Format = 16
} COMAdminApplicationExportOptions;
typedef[helpstring("Threading Model Enumerations")]
enum COMAdminThreadingModels
{
COMAdminThreadingModelApartment = 0,
COMAdminThreadingModelFree = 1,
COMAdminThreadingModelMain = 2,
COMAdminThreadingModelBoth = 3,
COMAdminThreadingModelNeutral = 4,
COMAdminThreadingModelNotSpecified = 5
} COMAdminThreadingModels;
typedef[helpstring("Transaction Settings Enumerations")]
enum COMAdminTransactionOptions
{
COMAdminTransactionIgnored = 0,
COMAdminTransactionNone = 1,
COMAdminTransactionSupported = 2,
COMAdminTransactionRequired = 3,
COMAdminTransactionRequiresNew = 4,
} COMAdminTransactionOptions;
typedef[helpstring("Transaction Isolation Level Enumerations")]
// If these values are changed, also change TxIsolationLevelOption in CatQCS.idl.
enum COMAdminTxIsolationLevelOptions
{
COMAdminTxIsolationLevelAny = 0,
COMAdminTxIsolationLevelReadUnCommitted, // translates to ISOLATIONLEVEL_READUNCOMMITTED
COMAdminTxIsolationLevelReadCommitted, // translates to ISOLATIONLEVEL_READCOMMITTED
COMAdminTxIsolationLevelRepeatableRead, // translates to ISOLATIONLEVEL_REPEATABLEREAD
COMAdminTxIsolationLevelSerializable, // translates to ISOLATIONLEVEL_SERIALIZABLE
} COMAdminTxIsolationLevelOptions;
typedef[helpstring("Synchronization Settings Enumerations")]
enum COMAdminSynchronizationOptions
{
COMAdminSynchronizationIgnored = 0,
COMAdminSynchronizationNone = 1,
COMAdminSynchronizationSupported = 2,
COMAdminSynchronizationRequired = 3,
COMAdminSynchronizationRequiresNew = 4
} COMAdminSynchronizationOptions;
typedef[helpstring("Activation Settings Enumerations")]
enum COMAdminActivationOptions
{
COMAdminActivationInproc = 0,
COMAdminActivationLocal = 1
} COMAdminActivationOptions;
typedef[helpstring("Access Level Settings Enumerations")]
enum COMAdminAccessChecksLevelOptions
{
COMAdminAccessChecksApplicationLevel = 0,
COMAdminAccessChecksApplicationComponentLevel = 1
} COMAdminAccessChecksLevelOptions;
typedef[helpstring("Authentication Level Settings Enumerations")]
enum COMAdminAuthenticationLevelOptions
{
COMAdminAuthenticationDefault = 0,
COMAdminAuthenticationNone = 1,
COMAdminAuthenticationConnect = 2,
COMAdminAuthenticationCall = 3,
COMAdminAuthenticationPacket = 4,
COMAdminAuthenticationIntegrity = 5,
COMAdminAuthenticationPrivacy = 6
} COMAdminAuthenticationLevelOptions;
typedef[helpstring("Impersonation Level Settings Enumerations")]
enum COMAdminImpersonationLevelOptions
{
COMAdminImpersonationAnonymous = 1,
COMAdminImpersonationIdentify = 2,
COMAdminImpersonationImpersonate = 3,
COMAdminImpersonationDelegate = 4
} COMAdminImpersonationLevelOptions;
typedef[helpstring("Authentication Capabilities Settings Enumerations")]
enum COMAdminAuthenticationCapabilitiesOptions
{
COMAdminAuthenticationCapabilitiesNone = 0x0,
COMAdminAuthenticationCapabilitiesSecureReference = 0x2,
COMAdminAuthenticationCapabilitiesStaticCloaking = 0x20,
COMAdminAuthenticationCapabilitiesDynamicCloaking = 0x40
} COMAdminAuthenticationCapabilitiesOptions;
typedef[helpstring("Operating System Enumerations")]
enum COMAdminOS
{
COMAdminOSWindows3_1 = 1,
COMAdminOSWindows9x = 2,
COMAdminOSWindowsNT = 3,
COMAdminOSWindowsNTEnterprise = 4,
COMAdminOSWindows2000Personal = 5
} COMAdminOS;
typedef[helpstring("Service Enumerations")]
enum COMAdminServiceOptions
{
COMAdminServiceLoadBalanceRouter = 1
} COMAdminServiceOptions;
typedef[helpstring("Service Status Enumerations")]
enum COMAdminServiceStatusOptions
{
COMAdminServiceStopped = 0,
COMAdminServiceStartPending,
COMAdminServiceStopPending,
COMAdminServiceRunning,
COMAdminServiceContinuePending,
COMAdminServicePausePending,
COMAdminServicePaused,
COMAdminServiceUnknownState,
} COMAdminServiceStatusOptions;
typedef[helpstring("Queued Components Message Authenticate Enumeration")]
enum COMAdminQCMessageAuthenticateOptions {
[helpstring("Require authenticated messages if available from MSMQ and application Authentication Level For Calls is other than NONE")]
COMAdminQCMessageAuthenticateSecureApps = 0,
[helpstring("Do not require MSMQ message authentication")]
COMAdminQCMessageAuthenticateOff = 1,
[helpstring("Require authenticated messages")]
COMAdminQCMessageAuthenticateOn = 2
} COMAdminQCMessageAuthenticateOptions;
typedef[helpstring("File Flags")]
enum COMAdminFileFlags
{
[helpstring("File is Loadable")]
COMAdminFileFlagLoadable = 0x00000001,
[helpstring("File contains COM Objects")]
COMAdminFileFlagCOM = 0x00000002,
[helpstring("File contains a proxy stub")]
COMAdminFileFlagContainsPS = 0x00000004,
[helpstring("File contains a component")]
COMAdminFileFlagContainsComp = 0x00000008,
[helpstring("File contains a typelibrary")]
COMAdminFileFlagContainsTLB = 0x00000010,
[helpstring("File contains self registration code")]
COMAdminFileFlagSelfReg = 0x00000020,
[helpstring("File contains self un-registration code")]
COMAdminFileFlagSelfUnReg = 0x00000040,
[helpstring("File is unloadable")]
COMAdminFileFlagUnloadableDLL = 0x00000080,
[helpstring("File does not exist")]
COMAdminFileFlagDoesNotExist = 0x00000100,
[helpstring("File is already installed")]
COMAdminFileFlagAlreadyInstalled = 0x00000200,
[helpstring("File contains a bad typelibrary")]
COMAdminFileFlagBadTLB = 0x00000400,
[helpstring("GetClassObj call failed on file")]
COMAdminFileFlagGetClassObjFailed = 0x00000800,
[helpstring("Class is not available")]
COMAdminFileFlagClassNotAvailable = 0x00001000,
[helpstring("File uses a registrar to register")]
COMAdminFileFlagRegistrar = 0x00002000,
[helpstring("File does not use a registrar to register")]
COMAdminFileFlagNoRegistrar = 0x00004000,
[helpstring("Regsvr call on file failed")]
COMAdminFileFlagDLLRegsvrFailed = 0x00008000,
[helpstring("Register typelibrary call on file failed")]
COMAdminFileFlagRegTLBFailed = 0x00010000,
[helpstring("Registrar failed to register file")]
COMAdminFileFlagRegistrarFailed = 0x00020000,
[helpstring("Generic file error ocurred")]
COMAdminFileFlagError = 0x00040000
} COMAdminFileFlags;
typedef[helpstring("Component Flags")]
enum COMAdminComponentFlags
{
[helpstring("Component type information not found")]
COMAdminCompFlagTypeInfoFound = 0x00000001,
[helpstring("COM Plus Properties Found")]
COMAdminCompFlagCOMPlusPropertiesFound = 0x00000002,
[helpstring("Proxy Found")]
COMAdminCompFlagProxyFound = 0x00000004,
[helpstring("Interfaces Found")]
COMAdminCompFlagInterfacesFound = 0x00000008,
[helpstring("Component is already installed")]
COMAdminCompFlagAlreadyInstalled = 0x00000010,
[helpstring("Component is not in application")]
COMAdminCompFlagNotInApplication = 0x00000020
} COMAdminComponentFlags;
const wchar_t *COMAdminCollectionRoot = "Root";
const wchar_t *COMAdminCollectionApplications = "Applications";
const wchar_t *COMAdminCollectionComponents = "Components";
const wchar_t *COMAdminCollectionComputerList = "ComputerList";
const wchar_t *COMAdminCollectionApplicationCluster = "ApplicationCluster";
const wchar_t *COMAdminCollectionLocalComputer = "LocalComputer";
const wchar_t *COMAdminCollectionInprocServers = "InprocServers";
const wchar_t *COMAdminCollectionRelatedCollectionInfo = "RelatedCollectionInfo";
const wchar_t *COMAdminCollectionPropertyInfo = "PropertyInfo";
const wchar_t *COMAdminCollectionRoles = "Roles";
const wchar_t *COMAdminCollectionErrorInfo = "ErrorInfo";
const wchar_t *COMAdminCollectionInterfacesForComponent = "InterfacesForComponent";
const wchar_t *COMAdminCollectionRolesForComponent = "RolesForComponent";
const wchar_t *COMAdminCollectionMethodsForInterface = "MethodsForInterface";
const wchar_t *COMAdminCollectionRolesForInterface = "RolesForInterface";
const wchar_t *COMAdminCollectionRolesForMethod = "RolesForMethod";
const wchar_t *COMAdminCollectionUsersInRole = "UsersInRole";
const wchar_t *COMAdminCollectionDCOMProtocols = "DCOMProtocols";
const wchar_t *COMAdminCollectionPartitions = "Partitions";
// VB style error codes
typedef[helpstring("Error codes (HRESULTS)")]
enum COMAdminErrorCodes
{
[helpstring("Errors occurred accessing one or more objects - the ErrorInfo collection may have more detail")]
COMAdminErrObjectErrors = COMADMIN_E_OBJECTERRORS,
[helpstring("One or more of the object's properties are missing or invalid")]
COMAdminErrObjectInvalid = COMADMIN_E_OBJECTINVALID,
[helpstring("The object was not found in the catalog")]
COMAdminErrKeyMissing = COMADMIN_E_KEYMISSING,
[helpstring("The object is already registered")]
COMAdminErrAlreadyInstalled = COMADMIN_E_ALREADYINSTALLED,
[helpstring("Error occurred writing to the application file")]
COMAdminErrAppFileWriteFail = COMADMIN_E_APP_FILE_WRITEFAIL,
[helpstring("Error occurred reading the application file")]
COMAdminErrAppFileReadFail = COMADMIN_E_APP_FILE_READFAIL,
[helpstring("Invalid version number in application file")]
COMAdminErrAppFileVersion = COMADMIN_E_APP_FILE_VERSION,
[helpstring("The file path is invalid")]
COMAdminErrBadPath = COMADMIN_E_BADPATH,
[helpstring("The application is already installed")]
COMAdminErrApplicationExists = COMADMIN_E_APPLICATIONEXISTS,
[helpstring("The role already exists")]
COMAdminErrRoleExists = COMADMIN_E_ROLEEXISTS,
[helpstring("An error occurred copying the file")]
COMAdminErrCantCopyFile = COMADMIN_E_CANTCOPYFILE,
[helpstring("One or more users are not valid")]
COMAdminErrNoUser = COMADMIN_E_NOUSER,
[helpstring("One or more users in the application file are not valid")]
COMAdminErrInvalidUserids = COMADMIN_E_INVALIDUSERIDS,
[helpstring("The component's CLSID is missing or corrupt")]
COMAdminErrNoRegistryCLSID = COMADMIN_E_NOREGISTRYCLSID,
[helpstring("The component's progID is missing or corrupt")]
COMAdminErrBadRegistryProgID = COMADMIN_E_BADREGISTRYPROGID,
[helpstring("Unable to set required authentication level for update request")]
COMAdminErrAuthenticationLevel = COMADMIN_E_AUTHENTICATIONLEVEL,
[helpstring("The identity or password set on the application is not valid")]
COMAdminErrUserPasswdNotValid = COMADMIN_E_USERPASSWDNOTVALID,
[helpstring("Application file CLSIDs or IIDs do not match corresponding DLLs")]
COMAdminErrCLSIDOrIIDMismatch = COMADMIN_E_CLSIDORIIDMISMATCH,
[helpstring("Interface information is either missing or changed")]
COMAdminErrRemoteInterface = COMADMIN_E_REMOTEINTERFACE,
[helpstring("DllRegisterServer failed on component install")]
COMAdminErrDllRegisterServer = COMADMIN_E_DLLREGISTERSERVER,
[helpstring("No server file share available")]
COMAdminErrNoServerShare = COMADMIN_E_NOSERVERSHARE,
[helpstring("DLL could not be loaded")]
COMAdminErrDllLoadFailed = COMADMIN_E_DLLLOADFAILED,
[helpstring("The registered TypeLib ID is not valid")]
COMAdminErrBadRegistryLibID = COMADMIN_E_BADREGISTRYLIBID,
[helpstring("Application install directory not found")]
COMAdminErrAppDirNotFound = COMADMIN_E_APPDIRNOTFOUND,
[helpstring("Errors occurred while in the component registrar")]
COMAdminErrRegistrarFailed = COMADMIN_E_REGISTRARFAILED,
[helpstring("The file does not exist")]
COMAdminErrCompFileDoesNotExist = COMADMIN_E_COMPFILE_DOESNOTEXIST,
[helpstring("The DLL could not be loaded")]
COMAdminErrCompFileLoadDLLFail = COMADMIN_E_COMPFILE_LOADDLLFAIL,
[helpstring("GetClassObject failed in the DLL")]
COMAdminErrCompFileGetClassObj = COMADMIN_E_COMPFILE_GETCLASSOBJ,
[helpstring("The DLL does not support the components listed in the TypeLib")]
COMAdminErrCompFileClassNotAvail = COMADMIN_E_COMPFILE_CLASSNOTAVAIL,
[helpstring("The TypeLib could not be loaded")]
COMAdminErrCompFileBadTLB = COMADMIN_E_COMPFILE_BADTLB,
[helpstring("The file does not contain components or component information")]
COMAdminErrCompFileNotInstallable = COMADMIN_E_COMPFILE_NOTINSTALLABLE,
[helpstring("Changes to this object and its sub-objects have been disabled")]
COMAdminErrNotChangeable = COMADMIN_E_NOTCHANGEABLE,
[helpstring("The delete function has been disabled for this object")]
COMAdminErrNotDeletable = COMADMIN_E_NOTDELETEABLE,
[helpstring("The server catalog version is not supported")]
COMAdminErrSession = COMADMIN_E_SESSION,
[helpstring("The component move was disallowed, because the source or destination application is either a system application or currently locked against changes")]
COMAdminErrCompMoveLocked = COMADMIN_E_COMP_MOVE_LOCKED,
[helpstring("The component move failed because the destination package no longer exists")]
COMAdminErrCompMoveBadDest = COMADMIN_E_COMP_MOVE_BAD_DEST,
[helpstring("The system was unable to register the TypeLib")]
COMAdminErrRegisterTLB = COMADMIN_E_REGISTERTLB,
[helpstring("This operation can not be performed on the system application")]
COMAdminErrSystemApp = COMADMIN_E_SYSTEMAPP,
[helpstring("The component registrar referenced in this file is not available")]
COMAdminErrCompFileNoRegistrar = COMADMIN_E_COMPFILE_NOREGISTRAR,
[helpstring("A component in the same DLL is already installed")]
COMAdminErrCoReqCompInstalled = COMADMIN_E_COREQCOMPINSTALLED,
[helpstring("The service is not installed")]
COMAdminErrServiceNotInstalled = COMADMIN_E_SERVICENOTINSTALLED,
[helpstring("One or more property settings are either invalid or in conflict with each other")]
COMAdminErrPropertySaveFailed = COMADMIN_E_PROPERTYSAVEFAILED,
[helpstring("The object you are attempting to add or rename already exists")]
COMAdminErrObjectExists = COMADMIN_E_OBJECTEXISTS,
[helpstring("The component you are attempting to add or rename already exists")]
COMAdminErrComponentExists = COMADMIN_E_COMPONENTEXISTS,
[helpstring("The registration file is corrupt")]
COMAdminErrRegFileCorrupt = COMADMIN_E_REGFILE_CORRUPT,
[helpstring("The property value is too large")]
COMAdminErrPropertyOverflow = COMADMIN_E_PROPERTY_OVERFLOW,
[helpstring("Object was not found in registry")]
COMAdminErrNotInRegistry = COMADMIN_E_NOTINREGISTRY,
[helpstring("This object is not poolable")]
COMAdminErrObjectNotPoolable = COMADMIN_E_OBJECTNOTPOOLABLE,
[helpstring("A CLSID with the same GUID as the new application ID is already installed on this machine")]
COMAdminErrApplidMatchesClsid = COMADMIN_E_APPLID_MATCHES_CLSID,
[helpstring("A role assigned to a component, interface, or method did not exist in the application")]
COMAdminErrRoleDoesNotExist = COMADMIN_E_ROLE_DOES_NOT_EXIST,
[helpstring("You must have components in an application in order to start the application.")]
COMAdminErrStartAppNeedsComponents = COMADMIN_E_START_APP_NEEDS_COMPONENTS,
[helpstring("This operation is not enabled on this platform.")]
COMAdminErrRequiresDifferentPlatform = COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM,
[helpstring("The queuing service is not installed")]
COMAdminErrQueuingServiceNotAvailable = COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE,
[helpstring("One of the objects being inserted or updated does not belong to a valid parent collection")]
COMAdminErrObjectParentMissing = COMADMIN_E_OBJECT_PARENT_MISSING,
[helpstring("One of the objects being updated or worked on does not exist")]
COMAdminErrObjectDoesNotExist = COMADMIN_E_OBJECT_DOES_NOT_EXIST,
[helpstring("Application Proxy is not exportable")]
COMAdminErrCanNotExportAppProxy = COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY,
[helpstring("Failed to start application because it is either a library application or an application proxy")]
COMAdminErrCanNotStartApp = COMADMIN_E_CAN_NOT_START_APP,
[helpstring("System application is not exportable")]
COMAdminErrCanNotExportSystemApp = COMADMIN_E_CAN_NOT_EXPORT_SYS_APP,
[helpstring("Can not subscribe to this component (the component may have been imported)")]
COMAdminErrCanNotSubscribeToComponent = COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT,
[helpstring("The specified application is not currently running")]
COMAdminErrAppNotRunning = COMADMIN_E_APP_NOT_RUNNING,
[helpstring("An event class cannot also be a subscriber component")]
COMAdminErrEventClassCannotBeSubscriber = COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER,
[helpstring("Library applications and application proxies are incompatible")]
COMAdminErrLibAppProxyIncompatible = COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE,
[helpstring("This function is valid for the base partition only")]
COMAdminErrBasePartitionOnly = COMADMIN_E_BASE_PARTITION_ONLY,
[helpstring("The specified partition name is already in use on this computer")]
COMAdminErrDuplicatePartitionName = COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME,
[helpstring("The partition cannot be deleted because it is the default partition for one or more users")]
COMAdminErrPartitionInUse = COMADMIN_E_CAT_PARTITION_IN_USE,
[helpstring("Applications that contain one or more imported components cannot be installed into a partition")]
COMAdminErrImportedComponentsNotAllowed = COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED,
[helpstring("The COM+ registry database has not been initialized")]
COMAdminErrRegdbNotInitialized = COMADMIN_E_REGDB_NOTINITIALIZED,
[helpstring("The COM+ registry database is not open")]
COMAdminErrRegdbNotOpen = COMADMIN_E_REGDB_NOTOPEN,
[helpstring("The COM+ registry database detected a system error")]
COMAdminErrRegdbSystemErr = COMADMIN_E_REGDB_SYSTEMERR,
[helpstring("The COM+ registry database is already running")]
COMAdminErrRegdbAlreadyRunning = COMADMIN_E_REGDB_ALREADYRUNNING,
[helpstring("This version of the COM+ registry database cannot be migrated")]
COMAdminErrMigVersionNotSupported = COMADMIN_E_MIG_VERSIONNOTSUPPORTED,
[helpstring("The schema version to be migrated could not be found in the COM+ registry database")]
COMAdminErrMigSchemaNotFound = COMADMIN_E_MIG_SCHEMANOTFOUND,
[helpstring("There was a type mismatch between binaries")]
COMAdminErrCatBitnessMismatch = COMADMIN_E_CAT_BITNESSMISMATCH,
[helpstring("A binary of unknown or invalid type was provided")]
COMAdminErrCatUnacceptableBitness = COMADMIN_E_CAT_UNACCEPTABLEBITNESS,
[helpstring("There was a type mismatch between a binary and an application")]
COMAdminErrCatWrongAppBitnessBitness = COMADMIN_E_CAT_WRONGAPPBITNESS,
[helpstring("The application cannot be paused or resumed")]
COMAdminErrCatPauseResumeNotSupported = COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED,
[helpstring("The COM+ Catalog Server threw an exception during execution")]
COMAdminErrCatServerFault = COMADMIN_E_CAT_SERVERFAULT,
[helpstring("Library applications may not be recycled")]
COMAdminErrCantRecycleLibraryApps = COMADMIN_E_CANTRECYCLELIBRARYAPPS,
[helpstring("Applications running as NT services may not be recycled")]
COMAdminErrCantRecycleServiceApps = COMADMIN_E_CANTRECYCLESERVICEAPPS,
[helpstring("The process has already been recycled")]
COMAdminErrProcessAlreadyRecycled = COMADMIN_E_PROCESSALREADYRECYCLED,
[helpstring("A paused process may not be recycled")]
COMAdminErrPausedProcessMayNotBeRecycled = COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED,
[helpstring("The specified partition does not exist or access to it is denied")]
COMAdminErrInvalidPartition = COMADMIN_E_INVALID_PARTITION,
[helpstring("Only Application Files (*.MSI files) can be installed into partitions")]
COMAdminErrPartitionMsiOnly = COMADMIN_E_PARTITION_MSI_ONLY,
[helpstring("You cannot start an application that has been disabled")]
COMAdminErrStartAppDisabled = COMADMIN_E_START_APP_DISABLED,
[helpstring("A component cannot be moved (or copied) from the System Application, an application proxy or a non-changeable application")]
COMAdminErrCompMoveSource = COMADMIN_E_COMP_MOVE_SOURCE,
[helpstring("A component cannot be moved (or copied) to the System Application, an application proxy or a non-changeable application")]
COMAdminErrCompMoveDest = COMADMIN_E_COMP_MOVE_DEST,
[helpstring("A private component cannot be moved (or copied) to a library application or to the base partition")]
COMAdminErrCompMovePrivate = COMADMIN_E_COMP_MOVE_PRIVATE,
[helpstring("Event Class components cannot be aliased.")]
COMAdminErrCannotCopyEventClass = COMADMIN_E_CANNOT_ALIAS_EVENTCLASS
} COMAdminErrorCodes;
}