htmlbm.h
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 1k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. #ifndef _HTMLBM_H_
  2. #define _HTMLBM_H_
  3. #include "logo.h"
  4. class CThumbnail :
  5.     public IThumbnail,
  6.     public CLogoBase
  7. {
  8. public:
  9.     //////////////////////////////////////////////////////
  10.     // Public Interfaces
  11.     //////////////////////////////////////////////////////
  12.     
  13.     // *** IUnknown ***
  14.     virtual STDMETHODIMP_(ULONG) AddRef(void);
  15.     virtual STDMETHODIMP_(ULONG) Release(void);
  16.     virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
  17.     // *** IThumbnail ***
  18.     virtual STDMETHODIMP Init(HWND hwnd, UINT uMsg);
  19.     virtual STDMETHODIMP GetBitmap(LPCWSTR wszFile, DWORD dwItem, LONG lWidth, LONG lHeight);
  20. private:
  21.     // Constructor / Destructor (protected so we can't create on stack)
  22.     CThumbnail(void);
  23.     ~CThumbnail(void);
  24.     // Instance creator
  25.     friend HRESULT CThumbnail_CreateInstance(IUnknown *punkOuter, IUnknown **ppunk, LPCOBJECTINFO poi);
  26.     // Private variables
  27. protected:
  28.     DWORD m_cRef;      // COM reference count
  29.     HWND _hwnd;
  30.     UINT _uMsg;
  31.     LPSHELLIMAGESTORE _pImageStore;
  32.     virtual IShellFolder * GetSF() {ASSERT(0);return NULL;};
  33.     virtual HWND GetHWND() {ASSERT(0); return _hwnd;};
  34.     virtual HRESULT UpdateLogoCallback( DWORD dwItem, int iIcon, HBITMAP hImage, LPCWSTR pszCache, BOOL fCache ) ;
  35.     virtual REFTASKOWNERID GetTOID();
  36.     BOOL IsItInCache( LPCWSTR pszItemPath, LPCWSTR pszGLocation, const FILETIME * pftDateStamp );
  37.     void ReleaseImageStore( void );
  38. };
  39. #endif  // _HTMLBM_H