EXTRICON.H
/************************************************************************** 
   THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
   ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
   THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
   PARTICULAR PURPOSE. 
 
   Copyright 1997 Microsoft Corporation.  All Rights Reserved. 
**************************************************************************/ 
 
/************************************************************************** 
 
   File:          ExtrIcon.h 
    
   Description:   CExtractIcon definitions. 
 
**************************************************************************/ 
 
#ifndef EXTRACTICON_H 
#define EXTRACTICON_H 
 
/************************************************************************** 
   #include statements 
**************************************************************************/ 
 
#include <windows.h> 
#include <shlobj.h> 
 
#include "PidlMgr.h" 
 
/************************************************************************** 
   global variables 
**************************************************************************/ 
 
extern HINSTANCE  g_hInst; 
extern UINT       g_DllRefCount; 
extern HIMAGELIST g_himlLarge; 
extern HIMAGELIST g_himlSmall; 
 
/************************************************************************** 
 
   CExtractIcon class definition 
 
**************************************************************************/ 
 
class CExtractIcon : public IExtractIcon 
{ 
protected: 
   DWORD m_ObjRefCount; 
 
public: 
   CExtractIcon(LPCITEMIDLIST); 
   ~CExtractIcon(); 
 
   //IUnknown methods 
   STDMETHOD (QueryInterface) (REFIID riid, LPVOID * ppvObj); 
   STDMETHOD_ (ULONG, AddRef) (void); 
   STDMETHOD_ (ULONG, Release) (void); 
 
   //IExtractIcon methods 
   STDMETHOD (GetIconLocation) (UINT, LPTSTR, UINT, LPINT, LPUINT); 
   STDMETHOD (Extract) (LPCTSTR, UINT, HICON*, HICON*, UINT); 
 
private: 
LPITEMIDLIST m_pidl; 
   LPPIDLMGR m_pPidlMgr; 
}; 
 
#define ICON_INDEX_BINARY     0 
#define ICON_INDEX_STRING     1 
#define ICON_INDEX_FOLDER     2 
#define ICON_INDEX_FOLDEROPEN 3 
 
#endif   //EXTRACTICON_H