116 lines
3.0 KiB
Plaintext
116 lines
3.0 KiB
Plaintext
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright 1995-2000 Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
cpp_quote("#ifndef _SHAPPMGRP_H_")
|
|
cpp_quote("#define _SHAPPMGRP_H_")
|
|
|
|
import "oleidl.idl";
|
|
import "oaidl.idl";
|
|
import "shappmgr.idl";
|
|
|
|
|
|
#include <olectl.h>
|
|
#include <shdispid.h>
|
|
|
|
[
|
|
uuid(157193AA-D8B2-435f-A79C-B8F332357C6B), // LIBID_SHAPPMGRP
|
|
helpstring("shappmgrp 1.0 Type Library"),
|
|
lcid(0x0000),
|
|
version(1.0)
|
|
]
|
|
library SHAPPMGRPLib
|
|
{
|
|
importlib("stdole32.tlb");
|
|
importlib("stdole2.tlb");
|
|
|
|
//
|
|
// IInstalledApp interface
|
|
//
|
|
[
|
|
uuid(1BC752DF-9046-11D1-B8B3-006008059382), // IID_IInstalledApp
|
|
helpstring("Shell Installed Application Interface"),
|
|
object
|
|
]
|
|
interface IInstalledApp : IShellApp
|
|
{
|
|
HRESULT Uninstall(HWND hwnd); // Same as Add/Remove maybe we should call it AddRemove.
|
|
HRESULT Modify(HWND hwndParent);
|
|
HRESULT Repair([in] BOOL bReinstall);
|
|
HRESULT Upgrade(void);
|
|
};
|
|
|
|
|
|
//
|
|
// IEnumInstalledApps interface
|
|
//
|
|
[
|
|
uuid(1BC752E1-9046-11D1-B8B3-006008059382), // IID_IEnumInstalledApps
|
|
helpstring("Shell Installed Apps Enumeration Interface"),
|
|
object,
|
|
]
|
|
|
|
interface IEnumInstalledApps : IUnknown
|
|
{
|
|
HRESULT Next([out] IInstalledApp** pia);
|
|
HRESULT Reset(void);
|
|
};
|
|
|
|
[
|
|
uuid(0B124F8F-91F0-11D1-B8B5-006008059382), // CLSID_EnumInstalledApps
|
|
helpstring("Shell Installed Applications Enumeration Object"),
|
|
]
|
|
coclass EnumInstalledApps
|
|
{
|
|
[default] interface IEnumInstalledApps;
|
|
};
|
|
|
|
|
|
//
|
|
// IShellAppManager interface
|
|
//
|
|
[
|
|
uuid(352EC2B8-8B9A-11D1-B8AE-006008059382), // IID_IShellAppManager
|
|
helpstring("Application Manager"),
|
|
object,
|
|
]
|
|
|
|
interface IShellAppManager : IUnknown
|
|
{
|
|
// NOTE: These structures are very similar to CategoryInfo* in NT5
|
|
typedef struct _ShellAppCategory {
|
|
LPWSTR pszCategory; // category description
|
|
UINT idCategory; // category id for ShellAppManager
|
|
} SHELLAPPCATEGORY, *PSHELLAPPCATEGORY;
|
|
|
|
typedef struct _ShellAppCategoryList {
|
|
UINT cCategories;
|
|
SHELLAPPCATEGORY * pCategory;
|
|
} SHELLAPPCATEGORYLIST, *PSHELLAPPCATEGORYLIST;
|
|
|
|
HRESULT GetNumberofInstalledApps(DWORD * pdwResult);
|
|
HRESULT EnumInstalledApps(IEnumInstalledApps ** peia);
|
|
HRESULT GetPublishedAppCategories(PSHELLAPPCATEGORYLIST pCategoryList);
|
|
HRESULT EnumPublishedApps(LPCWSTR pszCategory, IEnumPublishedApps ** ppepa);
|
|
HRESULT InstallFromFloppyOrCDROM(HWND hwndParent);
|
|
}
|
|
|
|
[
|
|
uuid(352EC2B7-8B9A-11D1-B8AE-006008059382), // CLSID_ShellAppManager
|
|
helpstring("Shell Application Manager"),
|
|
]
|
|
|
|
coclass ShellAppManager
|
|
{
|
|
[default] interface IShellAppManager;
|
|
};
|
|
|
|
};
|
|
|
|
cpp_quote("#endif // _SHAPPMGRP_H_")
|
|
|
|
|