Leaked source code of windows server 2003
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.

115 lines
3.2 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright 1995-2000 Microsoft Corporation. All Rights Reserved.
  5. //
  6. //--------------------------------------------------------------------------
  7. cpp_quote("#ifndef _SHAPPMGRP_H_")
  8. cpp_quote("#define _SHAPPMGRP_H_")
  9. import "oleidl.idl";
  10. import "oaidl.idl";
  11. import "shappmgr.idl";
  12. #include <olectl.h>
  13. #include <shdispid.h>
  14. [
  15. uuid(157193AA-D8B2-435f-A79C-B8F332357C6B), // LIBID_SHAPPMGRP
  16. helpstring("shappmgrp 1.0 Type Library"),
  17. lcid(0x0000),
  18. version(1.0)
  19. ]
  20. library SHAPPMGRPLib
  21. {
  22. importlib("stdole32.tlb");
  23. importlib("stdole2.tlb");
  24. //
  25. // IInstalledApp interface
  26. //
  27. [
  28. uuid(1BC752DF-9046-11D1-B8B3-006008059382), // IID_IInstalledApp
  29. helpstring("Shell Installed Application Interface"),
  30. object
  31. ]
  32. interface IInstalledApp : IShellApp
  33. {
  34. HRESULT Uninstall(HWND hwnd); // Same as Add/Remove maybe we should call it AddRemove.
  35. HRESULT Modify(HWND hwndParent);
  36. HRESULT Repair([in] BOOL bReinstall);
  37. HRESULT Upgrade(void);
  38. };
  39. //
  40. // IEnumInstalledApps interface
  41. //
  42. [
  43. uuid(1BC752E1-9046-11D1-B8B3-006008059382), // IID_IEnumInstalledApps
  44. helpstring("Shell Installed Apps Enumeration Interface"),
  45. object,
  46. ]
  47. interface IEnumInstalledApps : IUnknown
  48. {
  49. HRESULT Next([out] IInstalledApp** pia);
  50. HRESULT Reset(void);
  51. };
  52. [
  53. uuid(0B124F8F-91F0-11D1-B8B5-006008059382), // CLSID_EnumInstalledApps
  54. helpstring("Shell Installed Applications Enumeration Object"),
  55. ]
  56. coclass EnumInstalledApps
  57. {
  58. [default] interface IEnumInstalledApps;
  59. };
  60. //
  61. // IShellAppManager interface
  62. //
  63. [
  64. uuid(352EC2B8-8B9A-11D1-B8AE-006008059382), // IID_IShellAppManager
  65. helpstring("Application Manager"),
  66. object,
  67. ]
  68. interface IShellAppManager : IUnknown
  69. {
  70. // NOTE: These structures are very similar to CategoryInfo* in NT5
  71. typedef struct _ShellAppCategory {
  72. LPWSTR pszCategory; // category description
  73. UINT idCategory; // category id for ShellAppManager
  74. } SHELLAPPCATEGORY, *PSHELLAPPCATEGORY;
  75. typedef struct _ShellAppCategoryList {
  76. UINT cCategories;
  77. SHELLAPPCATEGORY * pCategory;
  78. } SHELLAPPCATEGORYLIST, *PSHELLAPPCATEGORYLIST;
  79. HRESULT GetNumberofInstalledApps(DWORD * pdwResult);
  80. HRESULT EnumInstalledApps(IEnumInstalledApps ** peia);
  81. HRESULT GetPublishedAppCategories(PSHELLAPPCATEGORYLIST pCategoryList);
  82. HRESULT EnumPublishedApps(LPCWSTR pszCategory, IEnumPublishedApps ** ppepa);
  83. HRESULT InstallFromFloppyOrCDROM(HWND hwndParent);
  84. }
  85. [
  86. uuid(352EC2B7-8B9A-11D1-B8AE-006008059382), // CLSID_ShellAppManager
  87. helpstring("Shell Application Manager"),
  88. ]
  89. coclass ShellAppManager
  90. {
  91. [default] interface IShellAppManager;
  92. };
  93. };
  94. cpp_quote("#endif // _SHAPPMGRP_H_")