42 lines
1.4 KiB
C++
42 lines
1.4 KiB
C++
// EnumVar.h: interface for the CEnumVar class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_ENUMVAR_H__EFC2C760_1A9F_11D3_8C81_0090270D48D1__INCLUDED_)
|
|
#define AFX_ENUMVAR_H__EFC2C760_1A9F_11D3_8C81_0090270D48D1__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#define UNLEN 255
|
|
|
|
// The follwing flags make up a bitmask used to define what values the Enumerator fills up
|
|
// for a given object.
|
|
|
|
// TODO :: We can add more attributes in order to get the appropriate information from the Object
|
|
// when we enumerate it. To add items simply add a flag and then add an item to the struct.
|
|
#define F_Name 0x00000001
|
|
#define F_Class 0x00000002
|
|
#define F_SamName 0x00000004
|
|
#define F_GroupType 0x00000008
|
|
|
|
// Structure used to fill out information about the object
|
|
typedef struct _Obj {
|
|
WCHAR sName[UNLEN]; // Common Name of the object
|
|
WCHAR sClass[UNLEN]; // The type of the object
|
|
WCHAR sSamName[UNLEN]; // SamAccountName of the object
|
|
long groupType; // The type of a group object (UNIVERSAL etc)
|
|
} SAttrInfo;
|
|
|
|
class CEnumVar
|
|
{
|
|
public:
|
|
BOOL Next( long flag, SAttrInfo * pAttr );
|
|
IEnumVARIANT * m_pEnum;
|
|
CEnumVar(IEnumVARIANT * pEnum);
|
|
virtual ~CEnumVar();
|
|
};
|
|
|
|
#endif // !defined(AFX_ENUMVAR_H__EFC2C760_1A9F_11D3_8C81_0090270D48D1__INCLUDED_)
|