windows-nt/Source/XPSP1/NT/admin/admt/netobjen/enumtest/enumvar.h

42 lines
1.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
// 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_)