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.

65 lines
2.6 KiB

  1. /*======================================================================================//
  2. | Process Control //
  3. | //
  4. |Copyright (c) 1998 Sequent Computer Systems, Incorporated. All rights reserved. //
  5. | //
  6. |File Name: About.h //
  7. | //
  8. |Description: Class definition for CAbout; for ISnapinAbout interface implementation //
  9. | //
  10. |Created: Paul Skoglund 09-1998 //
  11. | //
  12. |Rev History: //
  13. | 09-10-1998 Moved ISnapinAbout interface implemenation to separate class //
  14. | //
  15. |=======================================================================================*/
  16. #ifndef __ABOUT_H_
  17. #define __ABOUT_H_
  18. #include "Resource.h" // main symbols
  19. #include "Globals.h"
  20. #include "version.h"
  21. class ATL_NO_VTABLE CAbout :
  22. public CComObjectRootEx<CComSingleThreadModel>,
  23. public CComCoClass<CAbout, &CLSID_About>,
  24. public ISnapinAbout
  25. {
  26. public:
  27. CAbout();
  28. ~CAbout();
  29. // Note: we can't use DECLARE_REGISTRY_RESOURCEID(IDR_PROCCON)
  30. // because we need to be able to localize some of the strings we
  31. // write into the registry.
  32. static HRESULT STDMETHODCALLTYPE UpdateRegistry(BOOL bRegister) {
  33. return UpdateRegistryHelper(IDR_PROCCON, bRegister);
  34. }
  35. DECLARE_NOT_AGGREGATABLE(CAbout)
  36. BEGIN_COM_MAP(CAbout)
  37. COM_INTERFACE_ENTRY(ISnapinAbout)
  38. END_COM_MAP()
  39. private:
  40. HRESULT WrapLoadString(LPOLESTR *ptr, int nID);
  41. CVersion VersionObj;
  42. // ISnapinAbout
  43. public:
  44. STDMETHOD(GetSnapinDescription)(LPOLESTR* lpDescription);
  45. STDMETHOD(GetProvider)(LPOLESTR* lpName);
  46. STDMETHOD(GetSnapinVersion)(LPOLESTR* lpVersion);
  47. STDMETHOD(GetSnapinImage)(HICON* hAppIcon);
  48. STDMETHOD(GetStaticFolderImage)(HBITMAP* hSmallImage,
  49. HBITMAP* hSmallImageOpen,
  50. HBITMAP* hLargeImage,
  51. COLORREF* cLargeMask);
  52. };
  53. #endif //__ABOUT_H_