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.

89 lines
1.6 KiB

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