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.

71 lines
1.4 KiB

  1. class FAR CNDSGenObjectEnum : public CNDSEnumVariant
  2. {
  3. public:
  4. CNDSGenObjectEnum(ObjectTypeList ObjList);
  5. CNDSGenObjectEnum();
  6. ~CNDSGenObjectEnum();
  7. static
  8. HRESULT
  9. CNDSGenObjectEnum::Create(
  10. CNDSGenObjectEnum FAR* FAR* ppenumvariant,
  11. BSTR ADsPath,
  12. VARIANT var,
  13. CCredentials& Credentials
  14. );
  15. private:
  16. ObjectTypeList FAR *_pObjList;
  17. LPNDS_FILTER_LIST _pNdsFilterList;
  18. HANDLE _hObject;
  19. HANDLE _hOperationData;
  20. LPNDS_OBJECT_INFO _lpObjects;
  21. DWORD _dwObjectReturned;
  22. DWORD _dwObjectCurrentEntry;
  23. DWORD _dwObjectTotal;
  24. BSTR _ADsPath;
  25. BOOL _bNoMore;
  26. CCredentials _Credentials;
  27. HRESULT
  28. CNDSGenObjectEnum::GetGenObject(
  29. IDispatch ** ppDispatch
  30. );
  31. HRESULT
  32. EnumGenericObjects(
  33. ULONG cElements,
  34. VARIANT FAR* pvar,
  35. ULONG FAR* pcElementFetched
  36. );
  37. STDMETHOD(Next)(
  38. ULONG cElements,
  39. VARIANT FAR* pvar,
  40. ULONG FAR* pcElementFetched
  41. );
  42. };
  43. HRESULT
  44. BuildNDSFilterArray(
  45. VARIANT var,
  46. LPBYTE * ppContigFilter
  47. );
  48. void
  49. FreeFilterList(
  50. LPBYTE lpContigFilter
  51. );
  52. LPBYTE
  53. CreateAndAppendFilterEntry(
  54. LPBYTE pContigFilter,
  55. LPWSTR lpObjectClass
  56. );