Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

249 lines
14 KiB

// AppManDispatch.idl : IDL source for AppManDispatch.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (AppManDispatch.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(E5065E80-0228-4469-9FAD-DE1F352A27FE),
dual,
helpstring("IAppEntry Interface"),
pointer_default(unique)
]
interface IAppEntry : IDispatch
{
[propget, id(1), helpstring("property Guid")] HRESULT Guid([out, retval] BSTR *pVal);
[propput, id(1), helpstring("property Guid")] HRESULT Guid([in] BSTR newVal);
[propget, id(2), helpstring("property CompanyName")] HRESULT CompanyName([out, retval] BSTR *pVal);
[propput, id(2), helpstring("property CompanyName")] HRESULT CompanyName([in] BSTR newVal);
[propget, id(3), helpstring("property Signature")] HRESULT Signature([out, retval] BSTR *pVal);
[propput, id(3), helpstring("property Signature")] HRESULT Signature([in] BSTR newVal);
[propget, id(4), helpstring("property VersionString")] HRESULT VersionString([out, retval] BSTR *pVal);
[propput, id(4), helpstring("property VersionString")] HRESULT VersionString([in] BSTR newVal);
[propget, id(5), helpstring("property LastUsedDate")] HRESULT LastUsedDate([out, retval] DATE *pVal);
[propget, id(6), helpstring("property InstallDate")] HRESULT InstallDate([out, retval] DATE *pVal);
[propget, id(7), helpstring("property Category")] HRESULT Category([out, retval] long *pVal);
[propput, id(7), helpstring("property Category")] HRESULT Category([in] long newVal);
[propget, id(8), helpstring("property State")] HRESULT State([out, retval] long *pVal);
[propput, id(8), helpstring("property State")] HRESULT State([in] long newVal);
[propget, id(9), helpstring("property SetupRootPath")] HRESULT SetupRootPath([out, retval] BSTR *pVal);
[propget, id(10), helpstring("property ApplicationRootPath")] HRESULT ApplicationRootPath([out, retval] BSTR *pVal);
[propput, id(10), helpstring("property ApplicationRootPath")] HRESULT ApplicationRootPath([in] BSTR newVal);
[propget, id(11), helpstring("property EstimatedInstallKilobytes")] HRESULT EstimatedInstallKilobytes([out, retval] long *pVal);
[propput, id(11), helpstring("property EstimatedInstallKilobytes")] HRESULT EstimatedInstallKilobytes([in] long newVal);
[propget, id(12), helpstring("property ExecuteCmdLine")] HRESULT ExecuteCmdLine([out, retval] BSTR *pVal);
[propput, id(12), helpstring("property ExecuteCmdLine")] HRESULT ExecuteCmdLine([in] BSTR newVal);
[propget, id(13), helpstring("property DefaultSetupExeCmdLine")] HRESULT DefaultSetupExeCmdLine([out, retval] BSTR *pVal);
[propput, id(13), helpstring("property DefaultSetupExeCmdLine")] HRESULT DefaultSetupExeCmdLine([in] BSTR newVal);
[propget, id(14), helpstring("property DownsizeCmdLine")] HRESULT DownsizeCmdLine([out, retval] BSTR *pVal);
[propput, id(14), helpstring("property DownsizeCmdLine")] HRESULT DownsizeCmdLine([in] BSTR newVal);
[propget, id(15), helpstring("property ReInstallCmdLine")] HRESULT ReInstallCmdLine([out, retval] BSTR *pVal);
[propput, id(15), helpstring("property ReInstallCmdLine")] HRESULT ReInstallCmdLine([in] BSTR newVal);
[propget, id(16), helpstring("property UnInstallCmdLine")] HRESULT UnInstallCmdLine([out, retval] BSTR *pVal);
[propput, id(16), helpstring("property UnInstallCmdLine")] HRESULT UnInstallCmdLine([in] BSTR newVal);
[propget, id(17), helpstring("property SelfTestCmdLine")] HRESULT SelfTestCmdLine([out, retval] BSTR *pVal);
[propput, id(17), helpstring("property SelfTestCmdLine")] HRESULT SelfTestCmdLine([in] BSTR newVal);
[propget, id(18), helpstring("property TitleURL")] HRESULT TitleURL([out, retval] BSTR *pVal);
[propput, id(18), helpstring("property TitleURL")] HRESULT TitleURL([in] BSTR newVal);
[propget, id(19), helpstring("property DeveloperURL")] HRESULT DeveloperURL([out, retval] BSTR *pVal);
[propput, id(19), helpstring("property DeveloperURL")] HRESULT DeveloperURL([in] BSTR newVal);
[propget, id(20), helpstring("property PublisherURL")] HRESULT PublisherURL([out, retval] BSTR *pVal);
[propput, id(20), helpstring("property PublisherURL")] HRESULT PublisherURL([in] BSTR newVal);
[propget, id(21), helpstring("property XMLInfoFile")] HRESULT XMLInfoFile([out, retval] BSTR *pVal);
[propput, id(21), helpstring("property XMLInfoFile")] HRESULT XMLInfoFile([in] BSTR newVal);
[id(22), helpstring("method Clear")] HRESULT Clear();
[id(23), helpstring("method InitializeInstall")] HRESULT InitializeInstall();
[id(24), helpstring("method FinalizeInstall")] HRESULT FinalizeInstall();
[id(25), helpstring("method InitializeDownsize")] HRESULT InitializeDownsize();
[id(26), helpstring("method FinalizeDownsize")] HRESULT FinalizeDownsize();
[id(27), helpstring("method InitializeReInstall")] HRESULT InitializeReInstall();
[id(28), helpstring("method FinalizeReInstall")] HRESULT FinalizeReInstall();
[id(29), helpstring("method InitializeUnInstall")] HRESULT InitializeUnInstall();
[id(30), helpstring("method FinalizeUnInstall")] HRESULT FinalizeUnInstall();
[id(31), helpstring("method InitializeSelfTest")] HRESULT InitializeSelfTest();
[id(32), helpstring("method FinalizeSelfTest")] HRESULT FinalizeSelfTest();
[id(33), helpstring("method Abort")] HRESULT Abort();
[id(34), helpstring("method Run")] HRESULT Run([in] long lRunFlags, [in] BSTR newVal);
[id(35), helpstring("method AddAssociation")] HRESULT AddAssociation([in] long AssociationType, [in] IAppEntry * lpAppEntry);
[id(36), helpstring("method RemoveAssociation")] HRESULT RemoveAssociation([in] long lAssociationType, [in] IAppEntry * lpAppEntry);
[id(37), helpstring("method EnumAssociationTypes")] HRESULT EnumAssociationTypes([in] long lAssociationIndex, [out, retval] long * lpAssociationType);
[id(38), helpstring("method EnumAssociationObjects")] HRESULT EnumAssociationObjects([in] long lAssociationIndex, [in] IAppEntry * lpAppEntry);
[id(39), helpstring("method GetTemporarySpace")] HRESULT GetTemporarySpace([in] long lKilobytesRequired, [out, retval] BSTR * strRootPath);
[id(40), helpstring("method RemoveTemporarySpace")] HRESULT RemoveTemporarySpace([in] BSTR strRootPath);
[id(41), helpstring("method EnumTemporarySpacePaths")] HRESULT EnumTemporarySpacePaths([in] long lTempSpaceIndex, [out, retval] BSTR * strRootPath);
[id(42), helpstring("method EnumTemporarySpaceAllocations")] HRESULT EnumTemporarySpaceAllocations([in] long lTempSpaceIndex, [out, retval] long * lTempSpaceKilobytes);
[propget, id(43), helpstring("obsolete property, does nothing")] HRESULT RemovableKilobytes([out, retval] long *pVal);
[propput, id(43), helpstring("obsolete property, does nothing")] HRESULT RemovableKilobytes([in] long newVal);
[propget, id(44), helpstring("obsolete property, does nothing")] HRESULT NonRemovableKilobytes([out, retval] long *pVal);
[propput, id(44), helpstring("obsolete property, does nothing")] HRESULT NonRemovableKilobytes([in] long newVal);
};
[
object,
uuid(8D051768-5370-40AF-B149-2B265F39CCA2),
dual,
helpstring("IAppManager Interface"),
pointer_default(unique)
]
interface IAppManager : IDispatch
{
[propget, id(1), helpstring("property AdvancedMode")] HRESULT AdvancedMode([out, retval] long *pVal);
[propget, id(2), helpstring("property MaximumAvailableKilobytes")] HRESULT MaximumAvailableKilobytes(long lSpaceCategory, [out, retval] long *pVal);
[propget, id(3), helpstring("property OptimalAvailableKilobytes")] HRESULT OptimalAvailableKilobytes(long lSpaceCategory, [out, retval] long *pVal);
[propget, id(4), helpstring("property ApplicationCount")] HRESULT ApplicationCount([out, retval] long *pVal);
[id(5), helpstring("method CreateApplicationEntry")] HRESULT CreateApplicationEntry([out, retval] IAppEntry ** lppAppEntry);
[id(6), helpstring("method GetApplicationInfo")] HRESULT GetApplicationInfo([in] IAppEntry * lpAppEntry);
[id(7), helpstring("method EnumApplications")] HRESULT EnumApplications([in] long lApplicationIndex, [in] IAppEntry * lpAppEntry);
[id(8), helpstring("method EnumDeviceAvailableKilobytes")] HRESULT EnumDeviceAvailableKilobytes([in] long lDeviceIndex, [out, retval] long * lKilobytes);
[id(9), helpstring("method EnumDeviceRootPaths")] HRESULT EnumDeviceRootPaths([in] long lDeviceIndex, [out, retval] BSTR * strRootPath);
[id(10), helpstring("method EnumDeviceExclusionMask")] HRESULT EnumDeviceExclusionMask([in] long lDeviceIndex, [out, retval] long * lExclusionMask);
};
[
uuid(132ACE4B-3FDF-4B61-A22B-38049687F970),
version(1.0),
helpstring("AppManDispatch 1.0 Type Library")
]
library APPMANDISPATCHLib
{
importlib("stdole2.tlb");
//
// Defines used with GetProperty(APP_PROPERTY_STATE, ...)
//
typedef enum CONST_APP_STATES
{
APP_STATE_INSTALLING = 0x00000001,
APP_STATE_READY = 0x00000002,
APP_STATE_DOWNSIZING = 0x00000004,
APP_STATE_DOWNSIZED = 0x00000008,
APP_STATE_REINSTALLING = 0x00000010,
APP_STATE_UNINSTALLING = 0x00000020,
APP_STATE_UNINSTALLED = 0x00000040,
APP_STATE_SELFTESTING = 0x00000080,
APP_STATE_UNSTABLE = 0x00000100,
APP_STATE_MASK = 0x000001ff
} APPSTATES;
//
// Defines used with Set/GetProperty(APP_PROPERTY_CATEGORY, ...)
//
typedef enum CONST_APP_CATEGORIES
{
APP_CATEGORY_NONE = 0x00000000,
APP_CATEGORY_ENTERTAINMENT = 0x00000001,
APP_CATEGORY_PRODUCTIVITY = 0x00000002,
APP_CATEGORY_PUBLISHING = 0x00000004,
APP_CATEGORY_SCIENTIFIC = 0x00000008,
APP_CATEGORY_AUTHORING = 0x00000010,
APP_CATEGORY_MEDICAL = 0x00000020,
APP_CATEGORY_BUSINESS = 0x00000040,
APP_CATEGORY_FINANCIAL = 0x00000080,
APP_CATEGORY_EDUCATIONAL = 0x00000100,
APP_CATEGORY_REFERENCE = 0x00000200,
APP_CATEGORY_WEB = 0x00000400,
APP_CATEGORY_DEVELOPMENTTOOL = 0x00000800,
APP_CATEGORY_MULTIMEDIA = 0x00001000,
APP_CATEGORY_VIRUSCLEANER = 0x00002000,
APP_CATEGORY_CONNECTIVITY = 0x00004000,
APP_CATEGORY_MISC = 0x00008000,
APP_CATEGORY_DEMO = 0x01000000,
APP_CATEGORY_PATCH = 0x02000000,
APP_CATEGORY_DATA = 0x04000000,
APP_CATEGORY_ALL = 0x0700ffff
} APP_CATEGORIES;
//
// Association defines
//
typedef enum CONST_APP_ASSOCIATION_TYPES
{
APP_ASSOCIATION_CHILD = 0x40000000,
APP_ASSOCIATION_PARENT = 0x80000000,
APP_ASSOCIATION_INHERITBOTHPATHS = 0x00000001,
APP_ASSOCIATION_INHERITAPPROOTPATH = 0x00000002,
APP_ASSOCIATION_INHERITSETUPROOTPATH = 0x00000004
} APP_ASSOCIATION_TYPES;
//
// Some misc defines
//
typedef enum CONST_MISC_DEFINES
{
MAX_COMPANYNAME_CHARCOUNT = 64,
MAX_SIGNATURE_CHARCOUNT = 64,
MAX_VERSIONSTRING_CHARCOUNT = 16,
MAX_CMDLINE_CHARCOUNT = 255,
MAX_PATH_CHARCOUNT = 255
} MISC_DEFINES;
//
// Error Codes
//
typedef enum CONST_ERROR_CODES
{
APPMAN_E_NOTINITIALIZED = 0x85670001,
APPMAN_E_INVALIDPROPERTYSIZE = 0x85670005,
APPMAN_E_INVALIDDATA = 0x85670006,
APPMAN_E_INVALIDPROPERTY = 0x85670007,
APPMAN_E_READONLYPROPERTY = 0x85670008,
APPMAN_E_PROPERTYNOTSET = 0x85670009,
APPMAN_E_OVERFLOW = 0x8567000a,
APPMAN_E_INVALIDPROPERTYVALUE = 0x8567000c,
APPMAN_E_ACTIONINPROGRESS = 0x8567000d,
APPMAN_E_ACTIONNOTINITIALIZED = 0x8567000e,
APPMAN_E_REQUIREDPROPERTIESMISSING = 0x8567000f,
APPMAN_E_APPLICATIONALREADYEXISTS = 0x85670010,
APPMAN_E_APPLICATIONALREADYLOCKED = 0x85670011,
APPMAN_E_NODISKSPACEAVAILABLE = 0x85670012,
APPMAN_E_UNKNOWNAPPLICATION = 0x85670014,
APPMAN_E_INVALIDPARAMETERS = 0x85670015,
APPMAN_E_OBJECTLOCKED = 0x85670017,
APPMAN_E_INVALIDINDEX = 0x85670018,
APPMAN_E_REGISTRYCORRUPT = 0x85670019,
APPMAN_E_CANNOTASSOCIATE = 0x8567001a,
APPMAN_E_INVALIDASSOCIATION = 0x8567001b,
APPMAN_E_ALREADYASSOCIATED = 0x8567001c,
APPMAN_E_APPLICATIONREQUIRED = 0x8567001d,
APPMAN_E_INVALIDEXECUTECMDLINE = 0x8567001e,
APPMAN_E_INVALIDDOWNSIZECMDLINE = 0x8567001f,
APPMAN_E_INVALIDREINSTALLCMDLINE = 0x85670020,
APPMAN_E_INVALIDUNINSTALLCMDLINE = 0x85670021,
APPMAN_E_INVALIDSELFTESTCMDLINE = 0x85670022,
APPMAN_E_PARENTAPPNOTREADY = 0x85670023,
APPMAN_E_INVALIDSTATE = 0x85670024,
APPMAN_E_INVALIDROOTPATH = 0x85670025,
APPMAN_E_CACHEOVERRUN = 0x85670026,
APPMAN_E_REINSTALLDX = 0x85670028,
APPMAN_E_APPNOTEXECUTABLE = 0x85670029
} ERROR_CODES;
[
uuid(9D4BD41C-508B-4D49-894E-F09242B68AF8),
helpstring("AppEntry Class")
]
coclass AppEntry
{
[default] interface IAppEntry;
};
[
uuid(09A0E8F4-3C5D-4EA3-B56A-4E0731EE861A),
helpstring("AppManager Class")
]
coclass AppManager
{
[default] interface IAppManager;
};
};