Source code of Windows XP (NT5)
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 ENUMID_H
#define ENUMID_H
#define PIDL_TYPE_PROVIDER 0
#define PIDL_TYPE_TYPE 1
#define PIDL_TYPE_SUBTYPE 2
#define PIDL_TYPE_ITEM 3
typedef struct { DWORD dwType; PST_KEY KeyType; GUID guid; // guid associated with Pidl
} PIDL_CONTENT, *PPIDL_CONTENT, *LPPIDL_CONTENT; // WCHAR Array follows.
class CEnumIDList : public IEnumIDList { protected: LONG m_ObjRefCount;
public: CEnumIDList(LPITEMIDLIST, BOOL); ~CEnumIDList();
//
// IUnknown methods
//
STDMETHOD (QueryInterface)(REFIID, LPVOID*); STDMETHOD_ (DWORD, AddRef)(); STDMETHOD_ (DWORD, Release)();
//
// IEnumIDList
//
STDMETHOD (Next) (ULONG, LPITEMIDLIST*, ULONG *); STDMETHOD (Skip) (ULONG); STDMETHOD (Reset) (void); STDMETHOD (Clone) (LPENUMIDLIST*);
private: LPMALLOC m_pMalloc;
STDMETHOD (CreateIDList) (DWORD, PST_KEY, GUID *, LPCWSTR, LPITEMIDLIST *);
ULONG m_ulCurrent; DWORD m_dwType; PST_KEY m_KeyType; GUID m_guidType; GUID m_guidSubtype;
BOOL m_bEnumItems;
IEnumPStoreProviders *m_pIEnumProviders; IPStore *m_pIPStoreProvider; IEnumPStoreTypes *m_pIEnumTypes; IEnumPStoreTypes *m_pIEnumTypesGlobal; IEnumPStoreTypes *m_pIEnumSubtypes; IEnumPStoreItems *m_pIEnumItems; };
#endif // ENUMID_H
|