shappmgr.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:5k
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- //--------------------------------------------------------------------------
- cpp_quote("#ifndef _SHAPPMGR_H_")
- cpp_quote("#define _SHAPPMGR_H_")
- //
- // shappmgr.idl : IDL source for shappmgr.h
- //
- import "oaidl.idl";
- import "ocidl.idl";
- import "appmgmt.h";
- //
- // IShellApp interface
- //
- [
- uuid(A3E14960-935F-11D1-B8B8-006008059382), // IID_IShellApp
- object
- ]
- interface IShellApp : IUnknown
- {
- typedef enum _tagAppInfoFlags {
- AIM_DISPLAYNAME = 0x00000001,
- AIM_VERSION = 0x00000002,
- AIM_PUBLISHER = 0x00000004,
- AIM_PRODUCTID = 0x00000008,
- AIM_REGISTEREDOWNER = 0x00000010,
- AIM_REGISTEREDCOMPANY = 0x00000020,
- AIM_LANGUAGE = 0x00000040,
- AIM_SUPPORTURL = 0x00000080,
- AIM_SUPPORTTELEPHONE = 0x00000100,
- AIM_HELPLINK = 0x00000200,
- AIM_INSTALLLOCATION = 0x00000400,
- AIM_INSTALLSOURCE = 0x00000800,
- AIM_INSTALLDATE = 0x00001000,
- // AIM_REQUIREDBYPOLICY = 0x00002000, Obsolete. Do not reuse.
- AIM_CONTACT = 0x00004000,
- AIM_COMMENTS = 0x00008000,
- AIM_IMAGE = 0x00020000,
- AIM_READMEURL = 0x00040000,
- AIM_UPDATEINFOURL = 0x00080000
- } APPINFODATAFLAGS;
- typedef struct _AppInfoData {
- DWORD cbSize;
- DWORD dwMask; // APPINFODATAFLAGS, IN/OUT
- LPWSTR pszDisplayName;
- LPWSTR pszVersion;
- LPWSTR pszPublisher;
- LPWSTR pszProductID;
- LPWSTR pszRegisteredOwner;
- LPWSTR pszRegisteredCompany;
- LPWSTR pszLanguage;
- LPWSTR pszSupportUrl;
- LPWSTR pszSupportTelephone;
- LPWSTR pszHelpLink;
- LPWSTR pszInstallLocation;
- LPWSTR pszInstallSource;
- LPWSTR pszInstallDate;
- LPWSTR pszContact;
- LPWSTR pszComments;
- LPWSTR pszImage;
- LPWSTR pszReadmeUrl;
- LPWSTR pszUpdateInfoUrl;
- } APPINFODATA, *PAPPINFODATA;
- HRESULT GetAppInfo([in, out] PAPPINFODATA pai);
- typedef enum _tagAppActionFlags {
- APPACTION_INSTALL = 0x00000001,
- APPACTION_UNINSTALL = 0x00000002,
- APPACTION_MODIFY = 0x00000004,
- APPACTION_REPAIR = 0x00000008,
- APPACTION_UPGRADE = 0x00000010,
- APPACTION_CANGETSIZE = 0x00000020,
- APPACTION_MODIFYREMOVE = 0x00000080,
- APPACTION_ADDLATER = 0x00000100,
- APPACTION_UNSCHEDULE = 0x00000200
- } APPACTIONFLAGS;
- HRESULT GetPossibleActions([out] DWORD * pdwActions);
- //
- // Synchronously obtains the slow info for the app. This method call
- // can be very slow.
- //
- typedef struct _tagSlowAppInfo {
- ULONGLONG ullSize;
- FILETIME ftLastUsed;
- int iTimesUsed;
- LPWSTR pszImage;
- } SLOWAPPINFO, *PSLOWAPPINFO;
- HRESULT GetSlowAppInfo([in] PSLOWAPPINFO psaid);
- //
- // Obtain the cached slow info for the app, this will be fast.
- //
- HRESULT GetCachedSlowAppInfo([in] PSLOWAPPINFO psaid);
- //
- // Returns S_OK if installed S_FALSE if not installed
- //
- HRESULT IsInstalled(void);
- };
- //
- // IPublishedApp interface
- //
- [
- uuid(1BC752E0-9046-11D1-B8B3-006008059382), // IID_IPublishedApp
- object
- ]
- interface IPublishedApp : IShellApp
- {
- typedef enum _tagPublishedAppInfoFlags {
- PAI_SOURCE = 0x00000001,
- PAI_ASSIGNEDTIME = 0x00000002,
- PAI_PUBLISHEDTIME = 0x00000004,
- PAI_SCHEDULEDTIME = 0x00000008,
- PAI_EXPIRETIME = 0x00000010
- } PUBAPPINFOFLAGS;
- typedef struct _PubAppInfo {
- DWORD cbSize;
- DWORD dwMask; // PUBAPPINFOFLAGS, IN/OUT
- LPWSTR pszSource;
- SYSTEMTIME stAssigned;
- SYSTEMTIME stPublished;
- SYSTEMTIME stScheduled;
- SYSTEMTIME stExpire;
- } PUBAPPINFO, *PPUBAPPINFO;
- HRESULT Install([in]LPSYSTEMTIME pstInstall);
- HRESULT GetPublishedAppInfo([in, out] PPUBAPPINFO ppai);
- HRESULT Unschedule(void);
- };
- //
- // IEnumPublishedApps interface
- //
- [
- uuid(0B124F8C-91F0-11D1-B8B5-006008059382), // IID_IEnumPublishedApps
- object
- ]
- interface IEnumPublishedApps : IUnknown
- {
- HRESULT Next([out] IPublishedApp** pia);
- HRESULT Reset(void);
- };
- //
- // IAppPublisher interface
- //
- [
- uuid(07250A10-9CF9-11D1-9076-006008059382), // IID_IAppPublisher
- object
- ]
- interface IAppPublisher : IUnknown
- {
- HRESULT GetNumberOfCategories(DWORD * pdwCat);
- HRESULT GetCategories(APPCATEGORYINFOLIST * pAppCategoryList);
- HRESULT GetNumberOfApps(DWORD * pdwApps);
- HRESULT EnumApps(GUID * pAppCategoryId, IEnumPublishedApps ** ppepa);
- }
- cpp_quote("#endif // _SHAPPMGR_H_")