From 3f4ee4fefa604c6d51c1ec918fa84384af4ea244 Mon Sep 17 00:00:00 2001 From: Rafal Harabien Date: Fri, 20 Jan 2012 21:59:33 +0000 Subject: [PATCH] - Fix build svn path=/trunk/; revision=55023 --- reactos/dll/win32/netshell/enumlist.h | 48 +++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 reactos/dll/win32/netshell/enumlist.h diff --git a/reactos/dll/win32/netshell/enumlist.h b/reactos/dll/win32/netshell/enumlist.h new file mode 100644 index 00000000000..c5c0d76665d --- /dev/null +++ b/reactos/dll/win32/netshell/enumlist.h @@ -0,0 +1,48 @@ +typedef struct tagGUIDStruct +{ + BYTE dummy; /* offset 01 is unknown */ + GUID guid; /* offset 02 */ +} GUIDStruct; + +#define PT_GUID 0x1F + +typedef struct tagPIDLDATA +{ + BYTE type; /*00*/ + union + { + struct tagGUIDStruct guid; + struct tagVALUEStruct value; + } u; +} PIDLDATA, *LPPIDLDATA; + +typedef struct tagENUMLIST +{ + struct tagENUMLIST *pNext; + LPITEMIDLIST pidl; +} ENUMLIST, *LPENUMLIST; + +class CEnumIDList: + public IEnumIDList +{ + public: + CEnumIDList(); + BOOL AddToEnumList(LPITEMIDLIST pidl); + + // IUnknown + virtual HRESULT WINAPI QueryInterface(REFIID riid, LPVOID *ppvOut); + virtual ULONG WINAPI AddRef(); + virtual ULONG WINAPI Release(); + + // IEnumIDList + virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, LPITEMIDLIST *rgelt, ULONG *pceltFetched); + virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt); + virtual HRESULT STDMETHODCALLTYPE Reset(); + virtual HRESULT STDMETHODCALLTYPE Clone(IEnumIDList **ppenum); + + private: + LONG ref; + LPENUMLIST mpFirst; + LPENUMLIST mpLast; + LPENUMLIST mpCurrent; +};