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.
 
 
 
 
 
 

79 lines
1.9 KiB

#define PARENTTYPE_CIF 0
#define PARENTTYPE_GROUP 1
#define PARENTTYPE_MODE 2
// 0 = CCifCile, 1 = CCifGroup, 2 = CCifMode
class CCifEntryEnum
{
public:
CCifEntryEnum(UINT dwFilter, UINT dwParentType, LPSTR pszParentID);
~CCifEntryEnum();
protected:
UINT _cRef;
UINT _uIndex;
char _szParentID[MAX_ID_LENGTH];
UINT _uFilter;
UINT _uParentType; // 0 = CCifCile, 1 = CCifGroup, 2 = CCifMode
};
class CCifComponentEnum : public CCifEntryEnum, public IEnumCifComponents
{
public:
CCifComponentEnum(CCifComponent **pp, UINT dwFilter, UINT dwParentType, LPSTR pszParentID);
~CCifComponentEnum();
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (REFIID riid, LPVOID * ppvObj);
STDMETHOD_(ULONG,AddRef) ();
STDMETHOD_(ULONG,Release) ();
// enum methods
STDMETHOD(Next)(ICifComponent **);
STDMETHOD(Reset)();
private:
CCifComponent **_rpComp;
};
class CCifGroupEnum : public CCifEntryEnum, public IEnumCifGroups
{
public:
CCifGroupEnum(CCifGroup **pp, UINT dwFilter);
~CCifGroupEnum();
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (REFIID riid, LPVOID * ppvObj);
STDMETHOD_(ULONG,AddRef) ();
STDMETHOD_(ULONG,Release) ();
// enum methods
STDMETHOD(Next)(ICifGroup **);
STDMETHOD(Reset)();
private:
CCifGroup **_rpGroup;
};
class CCifModeEnum : public CCifEntryEnum, public IEnumCifModes
{
public:
CCifModeEnum(CCifMode **pp, UINT dwFilter);
~CCifModeEnum();
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (REFIID riid, LPVOID * ppvObj);
STDMETHOD_(ULONG,AddRef) ();
STDMETHOD_(ULONG,Release) ();
// enum methods
STDMETHOD(Next)(ICifMode **);
STDMETHOD(Reset)();
private:
CCifMode **_rpMode;
};