windows-nt/Source/XPSP1/NT/shell/osshell/lmui/shareui/enum.hxx

93 lines
1.7 KiB
C++
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1995 - 1995.
//
// File: enum.hxx
//
// Contents: Implementation of IEnumIDList
//
// History: 13-Dec-95 BruceFo Created
//
//----------------------------------------------------------------------------
#ifndef __ENUM_HXX__
#define __ENUM_HXX__
#include "shares.h"
//////////////////////////////////////////////////////////////////////////////
class CSharesEnum : public IEnumIDList
{
public:
CSharesEnum(
IN PWSTR pszMachine,
IN DWORD level
);
HRESULT
Init(
ULONG uFlags
);
~CSharesEnum();
//
// IUnknown methods
//
STDMETHOD(QueryInterface)(REFIID riid, LPVOID* ppvObj);
STDMETHOD_(ULONG,AddRef)();
STDMETHOD_(ULONG,Release)();
//
// IEnumIDList methods
//
STDMETHOD(Next)(
ULONG celt,
LPITEMIDLIST* rgelt,
ULONG* pceltFetched
);
STDMETHOD(Skip)(
ULONG celt
);
STDMETHOD(Reset)(
VOID
);
STDMETHOD(Clone)(
IEnumIDList** ppenum
);
private:
ULONG m_uFlags;
SHARE_INFO_2* m_pShares; // may actually point to level 1 info
PWSTR m_pszMachine;
ULONG m_level; // 1 or 2
DWORD m_dwEnumFlags;
DWORD m_cShares;
DWORD m_iCurrent;
ULONG m_ulRefs;
};
//
// Values for m_dwEnumFlags
//
#ifdef WIZARDS
#define EF_SHOW_NEW_WIZARD 0x00000001
#define EF_SHOW_NW_WIZARD 0x00000002
#define EF_SHOW_MAC_WIZARD 0x00000004
#define EF_SHOW_ALL_WIZARD 0x00000008
#endif // WIZARDS
#endif // __ENUM_HXX__