Leaked source code of windows server 2003
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.

61 lines
1.8 KiB

  1. /**************************************************************************
  2. THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3. ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4. THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5. PARTICULAR PURPOSE.
  6. Copyright 1998 Microsoft Corporation. All Rights Reserved.
  7. **************************************************************************/
  8. /**************************************************************************
  9. File: ExtrIcon.h
  10. Description: CExtractIcon definitions.
  11. **************************************************************************/
  12. #ifndef EXTRACTICON_H
  13. #define EXTRACTICON_H
  14. /**************************************************************************
  15. #include statements
  16. **************************************************************************/
  17. #include <windows.h>
  18. #include <shlobj.h>
  19. #include "PidlMgr.h"
  20. #include "Utility.h"
  21. /**************************************************************************
  22. CExtractIcon class definition
  23. **************************************************************************/
  24. class CExtractIcon : public IExtractIcon
  25. {
  26. private:
  27. DWORD m_ObjRefCount;
  28. LPITEMIDLIST m_pidl;
  29. CPidlMgr *m_pPidlMgr;
  30. public:
  31. CExtractIcon(LPCITEMIDLIST);
  32. ~CExtractIcon();
  33. //IUnknown methods
  34. STDMETHOD (QueryInterface) (REFIID riid, LPVOID * ppvObj);
  35. STDMETHOD_ (ULONG, AddRef) (VOID);
  36. STDMETHOD_ (ULONG, Release) (VOID);
  37. //IExtractIcon methods
  38. STDMETHOD (GetIconLocation) (UINT, LPTSTR, UINT, LPINT, LPUINT);
  39. STDMETHOD (Extract) (LPCTSTR, UINT, HICON*, HICON*, UINT);
  40. };
  41. #define ICON_INDEX_ITEM 0
  42. #define ICON_INDEX_FOLDER 1
  43. #define ICON_INDEX_FOLDEROPEN 2
  44. #endif //EXTRACTICON_H