windows-nt/Source/XPSP1/NT/sdktools/proccon/snapin/about.h
2020-09-26 16:20:57 +08:00

66 lines
2.6 KiB
C++

/*======================================================================================//
| Process Control //
| //
|Copyright (c) 1998 Sequent Computer Systems, Incorporated. All rights reserved. //
| //
|File Name: About.h //
| //
|Description: Class definition for CAbout; for ISnapinAbout interface implementation //
| //
|Created: Paul Skoglund 09-1998 //
| //
|Rev History: //
| 09-10-1998 Moved ISnapinAbout interface implemenation to separate class //
| //
|=======================================================================================*/
#ifndef __ABOUT_H_
#define __ABOUT_H_
#include "Resource.h" // main symbols
#include "Globals.h"
#include "version.h"
class ATL_NO_VTABLE CAbout :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CAbout, &CLSID_About>,
public ISnapinAbout
{
public:
CAbout();
~CAbout();
// Note: we can't use DECLARE_REGISTRY_RESOURCEID(IDR_PROCCON)
// because we need to be able to localize some of the strings we
// write into the registry.
static HRESULT STDMETHODCALLTYPE UpdateRegistry(BOOL bRegister) {
return UpdateRegistryHelper(IDR_PROCCON, bRegister);
}
DECLARE_NOT_AGGREGATABLE(CAbout)
BEGIN_COM_MAP(CAbout)
COM_INTERFACE_ENTRY(ISnapinAbout)
END_COM_MAP()
private:
HRESULT WrapLoadString(LPOLESTR *ptr, int nID);
CVersion VersionObj;
// ISnapinAbout
public:
STDMETHOD(GetSnapinDescription)(LPOLESTR* lpDescription);
STDMETHOD(GetProvider)(LPOLESTR* lpName);
STDMETHOD(GetSnapinVersion)(LPOLESTR* lpVersion);
STDMETHOD(GetSnapinImage)(HICON* hAppIcon);
STDMETHOD(GetStaticFolderImage)(HBITMAP* hSmallImage,
HBITMAP* hSmallImageOpen,
HBITMAP* hLargeImage,
COLORREF* cLargeMask);
};
#endif //__ABOUT_H_