NCOverlay.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
  3. *
  4. * This library is free software; you can redistribute it and/or modify it under
  5. * the terms of the GNU Lesser General Public License as published by the Free
  6. * Software Foundation; either version 2.1 of the License, or (at your option)
  7. * any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  11. * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
  12. * details.
  13. */
  14. #ifndef NCOVERLAY_H
  15. #define NCOVERLAY_H
  16. #pragma once
  17. #include <shlobj.h>
  18. class NCOverlay : public IShellIconOverlayIdentifier
  19. {
  20. public:
  21. NCOverlay(int state);
  22. IFACEMETHODIMP_(ULONG) AddRef();
  23. IFACEMETHODIMP GetOverlayInfo(PWSTR pwszIconFile, int cchMax, int *pIndex, DWORD *pdwFlags);
  24. IFACEMETHODIMP GetPriority(int *pPriority);
  25. IFACEMETHODIMP IsMemberOf(PCWSTR pwszPath, DWORD dwAttrib);
  26. IFACEMETHODIMP QueryInterface(REFIID riid, void **ppv);
  27. IFACEMETHODIMP_(ULONG) Release();
  28. protected:
  29. ~NCOverlay();
  30. private:
  31. long _referenceCount;
  32. int _state;
  33. };
  34. #endif