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.
|
|
#ifndef __LISTINTR_H
#define __LISTINTR_H
typedef enum tagLISTDIRECTION { LD_FORWARD = 0, LD_REVERSE = 1, LD_LASTDIRECTION = 2 } LISTDIRECTION;
typedef void (*IVPL_COMPAREFUNCTYPE)(void *ptrA, void *ptrB, bool *pfALessThanB, DWORD_PTR dwCookie); typedef void (*IVPL_FREEITEMFUNCTYPE)(void *ptr);
typedef void (*IUL_COMPAREFUNCTYPE)(IUnknown *pIUnkA, IUnknown *pIUnkB, bool *pfALessThanB, DWORD_PTR dwCookie);
interface IVoidPtrList; interface IUnknownList;
HRESULT IVoidPtrList_CreateInstance(IVoidPtrList** ppList); HRESULT IUnknownList_CreateInstance(IUnknownList** ppList);
interface IVoidPtrList : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Init( IVPL_COMPAREFUNCTYPE pCompareFunc, DWORD_PTR dwCookie, IVPL_FREEITEMFUNCTYPE pFreeItemFunc, DWORD dwInitSize) PURE;
virtual HRESULT STDMETHODCALLTYPE GetCount(DWORD *pdwCount) PURE;
virtual HRESULT STDMETHODCALLTYPE ClearList(void) PURE;
virtual HRESULT STDMETHODCALLTYPE AddItem(LPVOID ptr, DWORD *pdwHandle) PURE;
virtual HRESULT STDMETHODCALLTYPE RemoveItem(DWORD dwHandle) PURE;
virtual HRESULT STDMETHODCALLTYPE GetNext( LISTDIRECTION bDirection, LPVOID *pptr, DWORD *pdwHandle) PURE;
virtual HRESULT STDMETHODCALLTYPE SkipNext(LISTDIRECTION bDirection, DWORD *pdwHandle) PURE;
virtual HRESULT STDMETHODCALLTYPE Resort(void) PURE; };
interface IUnknownList : public IUnknown { public: // IUnknownList members
virtual HRESULT STDMETHODCALLTYPE Init(IUL_COMPAREFUNCTYPE pCompareFunc, DWORD_PTR dwCookie, DWORD dwInitSize) PURE;
virtual HRESULT STDMETHODCALLTYPE GetCount(DWORD *pdwCount) PURE;
virtual HRESULT STDMETHODCALLTYPE ClearList(void) PURE;
virtual HRESULT STDMETHODCALLTYPE AddItem(IUnknown *pIUnk, DWORD *pdwHandle) PURE;
virtual HRESULT STDMETHODCALLTYPE RemoveItem(DWORD dwHandle) PURE;
virtual HRESULT STDMETHODCALLTYPE GetNext(LISTDIRECTION bDirection, IUnknown **ppIUnk, DWORD *pdwHandle) PURE;
virtual HRESULT STDMETHODCALLTYPE SkipNext(LISTDIRECTION bDirection, DWORD *pdwHandle) PURE;
virtual HRESULT STDMETHODCALLTYPE Resort(void) PURE; };
#endif
|