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.

54 lines
1.4 KiB

  1. // About.hxx : Declaration of CAboutImpl, the implementation
  2. // of the Snapin's ISnapinAbout interface.
  3. //
  4. // Copyright (c) 1998-1999 Microsoft Corporation
  5. #pragma once // MSINFO_ABOUT_H
  6. #include "StdAfx.h"
  7. #ifndef IDS_DESCRIPTION
  8. #include "Resource.h"
  9. #endif // IDS_DESCRIPTION
  10. // This hack is required because we may be building in an environment
  11. // which doesn't have a late enough version of rpcndr.h
  12. #if __RPCNDR_H_VERSION__ < 440
  13. #define __RPCNDR_H_VERSION__ 440
  14. #define MIDL_INTERFACE(x) interface
  15. #endif
  16. #ifndef __mmc_h__
  17. #include <mmc.h>
  18. #endif // __mmc_h__
  19. class CAboutImpl :
  20. public ISnapinAbout,
  21. public CComObjectRoot,
  22. public CComCoClass<CAboutImpl, &CLSID_About>
  23. {
  24. public:
  25. CAboutImpl() {}
  26. ~CAboutImpl() {}
  27. public:
  28. DECLARE_REGISTRY(CSystemInfo, _T("MSInfo.About.1"), _T("MSInfo.About"), IDS_DESCRIPTION, THREADFLAGS_BOTH)
  29. BEGIN_COM_MAP(CAboutImpl)
  30. COM_INTERFACE_ENTRY(ISnapinAbout)
  31. END_COM_MAP()
  32. // ISnapinAbout Interface Members
  33. public:
  34. STDMETHOD(GetSnapinDescription)(LPOLESTR *lpDescription);
  35. STDMETHOD(GetProvider)(LPOLESTR *lpProvider);
  36. STDMETHOD(GetSnapinVersion)(LPOLESTR *lpVersion);
  37. STDMETHOD(GetSnapinImage)(HICON *hAppIcon);
  38. STDMETHOD(GetStaticFolderImage)(HBITMAP *hSmallImage,
  39. HBITMAP *hSmallImageOpen,
  40. HBITMAP *hLargeImage,
  41. COLORREF *cLargeMask);
  42. private:
  43. HRESULT LoadAboutString(UINT nID, LPOLESTR *lpAboutData);
  44. };