summaryrefslogtreecommitdiff
path: root/IconOverlayIdentifier.h
diff options
context:
space:
mode:
Diffstat (limited to 'IconOverlayIdentifier.h')
-rw-r--r--IconOverlayIdentifier.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/IconOverlayIdentifier.h b/IconOverlayIdentifier.h
new file mode 100644
index 0000000..0fb2b82
--- /dev/null
+++ b/IconOverlayIdentifier.h
@@ -0,0 +1,65 @@
+//
+// AUTHOR
+// S. Nielsen
+//
+// VERSION
+// 0.8
+//
+// LICENSE
+// This software is in the public domain.
+//
+// The software is provided "as is", without warranty of any kind,
+// express or implied, including but not limited to the warranties
+// of merchantability, fitness for a particular purpose, and
+// noninfringement. In no event shall the author(s) be liable for any
+// claim, damages, or other liability, whether in an action of
+// contract, tort, or otherwise, arising from, out of, or in connection
+// with the software or the use or other dealings in the software.
+//
+// SUPPORT
+// Send bug reports to: <nielsen@memberwebs.com>
+//
+
+// IconOverlayIdentifier.h : Declaration of the CIconOverlayIdentifier
+
+#ifndef __ICONOVERLAYIDENTIFIER_H_
+#define __ICONOVERLAYIDENTIFIER_H_
+
+#include "resource.h" // main symbols
+
+// Include these for the IconOverlyIdentifier interface
+#include <Shlobj.h>
+#include <ShlGuid.h>
+
+extern const CLSID CLSID_IconOverlayIdentifier;
+
+
+/////////////////////////////////////////////////////////////////////////////
+// CIconOverlayIdentifier
+class ATL_NO_VTABLE CIconOverlayIdentifier :
+ public CComObjectRootEx<CComMultiThreadModel>,
+ public CComCoClass<CIconOverlayIdentifier, &CLSID_IconOverlayIdentifier>,
+ public IShellIconOverlayIdentifier
+{
+public:
+ CIconOverlayIdentifier()
+ {
+ }
+
+DECLARE_REGISTRY_RESOURCEID(IDR_ICONOVERLAYIDENTIFIER)
+DECLARE_NOT_AGGREGATABLE(CIconOverlayIdentifier)
+
+DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+BEGIN_COM_MAP(CIconOverlayIdentifier)
+ COM_INTERFACE_ENTRY_IID(IID_IShellIconOverlayIdentifier, IShellIconOverlayIdentifier)
+END_COM_MAP()
+
+// IShellIconOverlayIdentifier
+public:
+ STDMETHOD(GetOverlayInfo)(LPWSTR pwszIconFile, int cchMax, int *pIndex, DWORD *pdwFlags);
+ STDMETHOD(GetPriority)(int *pPriority);
+ STDMETHOD(IsMemberOf)(LPCWSTR pwszPath, DWORD dwAttrib);
+};
+
+#endif //__ICONOVERLAYIDENTIFIER_H_