110 lines
2.2 KiB
C++
110 lines
2.2 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
|
//
|
|
// File: xicon.hxx
|
|
//
|
|
// Contents: Declaration of CSharesEI & CSharesEIA, implementations
|
|
// of IExtractIcon
|
|
//
|
|
// History: 14-Dec-95 BruceFo Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#ifndef __XICON_HXX__
|
|
#define __XICON_HXX__
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
class CSharesEI : public IExtractIcon
|
|
{
|
|
public:
|
|
|
|
CSharesEI(IN BYTE bFlags, IN DWORD type) : m_ulRefs(0), m_bFlags(bFlags), m_dwType(type) { AddRef(); }
|
|
~CSharesEI() {}
|
|
|
|
//
|
|
// IUnknown methods
|
|
//
|
|
|
|
STDMETHOD(QueryInterface)(REFIID riid, LPVOID* ppvObj);
|
|
STDMETHOD_(ULONG,AddRef)();
|
|
STDMETHOD_(ULONG,Release)();
|
|
|
|
//
|
|
// IExtractIcon methods
|
|
//
|
|
|
|
STDMETHOD(GetIconLocation)(
|
|
UINT uFlags,
|
|
LPWSTR szIconFile,
|
|
UINT cchMax,
|
|
int* piIndex,
|
|
UINT* pwFlags
|
|
);
|
|
|
|
STDMETHOD(Extract)(
|
|
LPCWSTR pszFile,
|
|
UINT nIconIndex,
|
|
HICON* phiconLarge,
|
|
HICON* phiconSmall,
|
|
UINT nIconSize
|
|
);
|
|
|
|
private:
|
|
|
|
ULONG m_ulRefs;
|
|
BYTE m_bFlags;
|
|
DWORD m_dwType;
|
|
};
|
|
|
|
|
|
#ifdef UNICODE
|
|
|
|
class CSharesEIA : public IExtractIconA
|
|
{
|
|
public:
|
|
|
|
CSharesEIA(IN BYTE bFlags, IN DWORD type) : m_ulRefs(0), m_bFlags(bFlags), m_dwType(type) { AddRef(); }
|
|
~CSharesEIA() {}
|
|
|
|
//
|
|
// IUnknown methods
|
|
//
|
|
|
|
STDMETHOD(QueryInterface)(REFIID riid, LPVOID* ppvObj);
|
|
STDMETHOD_(ULONG,AddRef)();
|
|
STDMETHOD_(ULONG,Release)();
|
|
|
|
//
|
|
// IExtractIconA methods
|
|
//
|
|
|
|
STDMETHOD(GetIconLocation)(
|
|
UINT uFlags,
|
|
LPSTR szIconFile,
|
|
UINT cchMax,
|
|
int* piIndex,
|
|
UINT* pwFlags
|
|
);
|
|
|
|
STDMETHOD(Extract)(
|
|
LPCSTR pszFile,
|
|
UINT nIconIndex,
|
|
HICON* phiconLarge,
|
|
HICON* phiconSmall,
|
|
UINT nIconSize
|
|
);
|
|
|
|
private:
|
|
|
|
ULONG m_ulRefs;
|
|
BYTE m_bFlags;
|
|
DWORD m_dwType;
|
|
};
|
|
|
|
#endif // UNICODE
|
|
|
|
#endif // __XICON_HXX__
|