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.

41 lines
1.5 KiB

  1. // EnumVar.h: interface for the CEnumVar class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_ENUMVAR_H__EFC2C760_1A9F_11D3_8C81_0090270D48D1__INCLUDED_)
  5. #define AFX_ENUMVAR_H__EFC2C760_1A9F_11D3_8C81_0090270D48D1__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define UNLEN 255
  10. // The follwing flags make up a bitmask used to define what values the Enumerator fills up
  11. // for a given object.
  12. // TODO :: We can add more attributes in order to get the appropriate information from the Object
  13. // when we enumerate it. To add items simply add a flag and then add an item to the struct.
  14. #define F_Name 0x00000001
  15. #define F_Class 0x00000002
  16. #define F_SamName 0x00000004
  17. #define F_GroupType 0x00000008
  18. // Structure used to fill out information about the object
  19. typedef struct _Obj {
  20. WCHAR sName[UNLEN]; // Common Name of the object
  21. WCHAR sClass[UNLEN]; // The type of the object
  22. WCHAR sSamName[UNLEN]; // SamAccountName of the object
  23. long groupType; // The type of a group object (UNIVERSAL etc)
  24. } SAttrInfo;
  25. class CEnumVar
  26. {
  27. public:
  28. BOOL Next( long flag, SAttrInfo * pAttr );
  29. IEnumVARIANT * m_pEnum;
  30. CEnumVar(IEnumVARIANT * pEnum);
  31. virtual ~CEnumVar();
  32. };
  33. #endif // !defined(AFX_ENUMVAR_H__EFC2C760_1A9F_11D3_8C81_0090270D48D1__INCLUDED_)