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.

41 lines
1.4 KiB

  1. ////////////////////////////////////////////////////////////////////////
  2. //
  3. // CExtractIcon
  4. //
  5. // IExtractIcon implementation
  6. //
  7. ////////////////////////////////////////////////////////////////////////
  8. #ifndef _INC_CEXTICON_H
  9. #define _INC_CEXTICON_H
  10. class CExtractIcon : public IExtractIconA, public IExtractIconW
  11. {
  12. public:
  13. // *** IUnknown methods ***
  14. HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
  15. ULONG STDMETHODCALLTYPE AddRef(void);
  16. ULONG STDMETHODCALLTYPE Release(void);
  17. // *** IExtractIconA methods ***
  18. HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags,LPSTR szIconFile,UINT cchMax,int FAR *piIndex,UINT FAR *pwFlags);
  19. HRESULT STDMETHODCALLTYPE Extract(LPCSTR pszFile,UINT nIconIndex,HICON FAR *phiconLarge,HICON FAR *phiconSmall,UINT nIcons);
  20. #ifndef WIN16 // WIN16FF
  21. // *** IExtractIconW methods ***
  22. HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags,LPWSTR szIconFile,UINT cchMax,int FAR *piIndex,UINT FAR *pwFlags);
  23. HRESULT STDMETHODCALLTYPE Extract(LPCWSTR pszFile,UINT nIconIndex,HICON FAR *phiconLarge,HICON FAR *phiconSmall,UINT nIcons);
  24. #endif // !WIN16
  25. CExtractIcon(int iIcon, int iIconOpen, UINT uFlags, LPSTR szModule);
  26. ~CExtractIcon();
  27. private:
  28. UINT m_cRef;
  29. int m_iIcon;
  30. int m_iIconOpen;
  31. UINT m_uFlags;
  32. char m_szModule[MAX_PATH];
  33. };
  34. #endif // _INC_CEXTICON_H