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.

56 lines
2.1 KiB

  1. //////////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // AppManager.h
  4. //
  5. // Copyright (C) 1998, 1999 Microsoft Corporation. All rights reserved.
  6. //
  7. //////////////////////////////////////////////////////////////////////////////////////////////
  8. #ifndef __APPMANAGER_H_
  9. #define __APPMANAGER_H_
  10. #include "resource.h"
  11. #include "AppMan.h"
  12. //////////////////////////////////////////////////////////////////////////////////////////////
  13. //
  14. //////////////////////////////////////////////////////////////////////////////////////////////
  15. class ATL_NO_VTABLE CAppManager :
  16. public CComObjectRootEx<CComSingleThreadModel>,
  17. public CComCoClass<CAppManager, &CLSID_AppManager>,
  18. public IDispatchImpl<IAppManager, &IID_IAppManager, &LIBID_APPMANDISPATCHLib>
  19. {
  20. public:
  21. CAppManager(void);
  22. virtual ~CAppManager(void);
  23. DECLARE_REGISTRY_RESOURCEID(IDR_APPMANAGER)
  24. DECLARE_PROTECT_FINAL_CONSTRUCT()
  25. BEGIN_COM_MAP(CAppManager)
  26. COM_INTERFACE_ENTRY(IAppManager)
  27. COM_INTERFACE_ENTRY(IDispatch)
  28. END_COM_MAP()
  29. STDMETHOD (get_AdvancedMode)(/*[out, retval]*/ long *pVal);
  30. STDMETHOD (get_OptimalAvailableKilobytes)(/*[in]*/ long lSpaceCategory, /*[out, retval]*/ long *pVal);
  31. STDMETHOD (get_MaximumAvailableKilobytes)(/*[in]*/ long lSpaceCategory, /*[out, retval]*/ long *pVal);
  32. STDMETHOD (get_ApplicationCount)(/*[out, retval]*/ long *pVal);
  33. STDMETHOD (CreateApplicationEntry)(/*[out, retval]*/ IAppEntry ** lppAppEntry);
  34. STDMETHOD (GetApplicationInfo)(/*[in]*/ IAppEntry * lpAppEntry);
  35. STDMETHOD (EnumDeviceExclusionMask)(/*[in]*/ long lDeviceIndex, /*[out, retval]*/ long * lExclusionMask);
  36. STDMETHOD (EnumDeviceRootPaths)(/*[in]*/ long lDeviceIndex, /*[out, retval]*/ BSTR * strRootPath);
  37. STDMETHOD (EnumDeviceAvailableKilobytes)(/*[in]*/ long lDeviceIndex, /*[out, retval]*/ long * lKilobytes);
  38. STDMETHOD (EnumApplications)(/*[in]*/ long lApplicationIndex, /*[in]*/ IAppEntry * lpAppEntry);
  39. private:
  40. BOOL m_fInitialized;
  41. IApplicationManager * m_IApplicationManager;
  42. };
  43. #endif //__APPMANAGER_H_