Source code of Windows XP (NT5)
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.

74 lines
1.4 KiB

  1. class FAR CNDSClassEnum : public CNDSEnumVariant
  2. {
  3. public:
  4. // IEnumVARIANT methods
  5. STDMETHOD(Next)(
  6. ULONG cElements,
  7. VARIANT FAR* pvar,
  8. ULONG FAR* pcElementFetched
  9. );
  10. static
  11. HRESULT
  12. Create(
  13. CNDSClassEnum FAR* FAR* ppenumvariant,
  14. BSTR bstrADsPath,
  15. BSTR bstrDomainName,
  16. VARIANT var,
  17. CCredentials& Credentials
  18. );
  19. CNDSClassEnum();
  20. ~CNDSClassEnum();
  21. HRESULT
  22. EnumObjects(
  23. ULONG cElements,
  24. VARIANT FAR * pvar,
  25. ULONG FAR * pcElementFetched
  26. );
  27. private:
  28. ObjectTypeList FAR *_pObjList;
  29. PNDS_CLASS_DEF _lpClassDefs;
  30. HANDLE _hOperationData;
  31. NDS_CONTEXT_HANDLE _hADsContext;
  32. BSTR _bstrName;
  33. BSTR _bstrADsPath;
  34. BSTR _pszNDSTreeName;
  35. DWORD _dwCurrentEntry;
  36. DWORD _dwObjectCurrentEntry;
  37. DWORD _dwObjectReturned;
  38. DWORD _dwInfoType;
  39. PPROPENTRY _pPropNameList;
  40. PPROPENTRY _pCurrentEntry;
  41. CCredentials _Credentials;
  42. BOOL _bNoMore;
  43. HRESULT
  44. CNDSClassEnum::GetPropertyObject(
  45. IDispatch **ppDispatch
  46. );
  47. HRESULT
  48. EnumProperties(
  49. ULONG cElements,
  50. VARIANT FAR* pvar,
  51. ULONG FAR* pcElementFetched
  52. );
  53. HRESULT
  54. CNDSClassEnum::EnumObjects(
  55. DWORD ObjectType,
  56. ULONG cElements,
  57. VARIANT FAR * pvar,
  58. ULONG FAR * pcElementFetched
  59. );
  60. };