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.

93 lines
2.6 KiB

  1. /*++
  2. Copyright (C) 1998-1999 Microsoft Corporation
  3. Module Name:
  4. smabout.h
  5. Abstract:
  6. Implementation of the ISnapinAbout interface.
  7. --*/
  8. #ifndef __SMABOUT_H_INCLUDED__
  9. #define __SMABOUT_H_INCLUDED__
  10. #include "smlogcfg.h"
  11. class ATL_NO_VTABLE CSmLogAbout :
  12. // public CComObjectRoot,
  13. public CComObjectRootEx<CComSingleThreadModel>,
  14. public CComCoClass<CSmLogAbout, &CLSID_PerformanceAbout>,
  15. public ISnapinAbout
  16. {
  17. BEGIN_COM_MAP(CSmLogAbout)
  18. COM_INTERFACE_ENTRY(ISnapinAbout)
  19. END_COM_MAP()
  20. public:
  21. CSmLogAbout();
  22. virtual ~CSmLogAbout();
  23. DECLARE_REGISTRY_RESOURCEID(IDR_PERFORMANCEABOUT)
  24. DECLARE_NOT_AGGREGATABLE(CSmLogAbout)
  25. // IUnknown overrides
  26. virtual
  27. ULONG __stdcall
  28. AddRef();
  29. virtual
  30. ULONG __stdcall
  31. Release();
  32. virtual
  33. HRESULT __stdcall
  34. QueryInterface(const IID& interfaceID, void** interfaceDesired);
  35. // ISnapinAbout
  36. /*
  37. STDMETHOD(GetSnapinDescription)(OUT LPOLESTR __RPC_FAR *lpDescription);
  38. STDMETHOD(GetProvider)(OUT LPOLESTR __RPC_FAR *lpName);
  39. STDMETHOD(GetSnapinVersion)(OUT LPOLESTR __RPC_FAR *lpVersion);
  40. STDMETHOD(GetSnapinImage)(OUT HICON __RPC_FAR *hAppIcon);
  41. STDMETHOD(GetStaticFolderImage)(
  42. OUT HBITMAP __RPC_FAR *hSmallImage,
  43. OUT HBITMAP __RPC_FAR *hSmallImageOpen,
  44. OUT HBITMAP __RPC_FAR *hLargeImage,
  45. OUT COLORREF __RPC_FAR *crMask);
  46. */
  47. virtual HRESULT __stdcall GetSnapinDescription(OUT LPOLESTR __RPC_FAR *lpDescription);
  48. virtual HRESULT __stdcall GetProvider(OUT LPOLESTR __RPC_FAR *lpName);
  49. virtual HRESULT __stdcall GetSnapinVersion(OUT LPOLESTR __RPC_FAR *lpVersion);
  50. virtual HRESULT __stdcall GetSnapinImage(OUT HICON __RPC_FAR *hAppIcon);
  51. virtual HRESULT __stdcall GetStaticFolderImage(
  52. OUT HBITMAP __RPC_FAR *hSmallImage,
  53. OUT HBITMAP __RPC_FAR *hSmallImageOpen,
  54. OUT HBITMAP __RPC_FAR *hLargeImage,
  55. OUT COLORREF __RPC_FAR *crMask);
  56. private:
  57. // The following data members MUST be initialized by the constructor
  58. // of the derived class.
  59. UINT m_uIdStrDescription; // Resource Id of the description
  60. UINT m_uIdStrProvider; // Resource Id of the provider (ie, Microsoft Corporation)
  61. UINT m_uIdStrVersion; // Resource Id of the version of the snapin
  62. UINT m_uIdIconImage; // Resource Id for the icon/image of the snapin
  63. UINT m_uIdBitmapSmallImage;
  64. UINT m_uIdBitmapSmallImageOpen;
  65. UINT m_uIdBitmapLargeImage;
  66. COLORREF m_crImageMask;
  67. long refcount;
  68. private:
  69. HRESULT HrLoadOleString(UINT uStringId, OUT LPOLESTR * ppaszOleString);
  70. HRESULT TranslateString( IN LPSTR lpSrc, OUT LPOLESTR __RPC_FAR *lpDst);
  71. }; // CSmLogAbout()
  72. #endif // __SMABOUT_H_INCLUDED__