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.

62 lines
1.5 KiB

  1. //
  2. // The private CLdap class. Provides a hierarchical storage view over a single
  3. // bag-of-bytes stored in an Ldap accessible store.
  4. //
  5. class CLdap {
  6. public:
  7. CLdap(
  8. IN LPWSTR wszDfsName,
  9. OUT LPDWORD pdwErr);
  10. ~CLdap();
  11. DWORD AddRef(BOOLEAN SyncRemoteServerName);
  12. DWORD Release();
  13. DWORD CreateObject(
  14. LPCWSTR wszObjectName);
  15. DWORD DeleteObject(
  16. LPWSTR wszObjectName);
  17. DWORD GetData(
  18. IN LPCWSTR wszObjectName,
  19. OUT LPDWORD pcbObjectSize,
  20. OUT PCHAR *ppObjectData);
  21. DWORD PutData(
  22. IN LPWSTR wszObjectName,
  23. IN DWORD cbObjectSize,
  24. IN PCHAR pObjectData);
  25. LPWSTR NextChild(
  26. IN LPWSTR wszObjectName,
  27. OUT PVOID *ppCookie);
  28. DWORD Flush();
  29. BOOLEAN _fDirty;
  30. private:
  31. DWORD _cRef;
  32. DWORD _cEntries;
  33. DWORD _cEntriesAllocated;
  34. LDAP_PKT _ldapPkt;
  35. PBYTE _pBuffer;
  36. DFS_PREFIX_TABLE _ObjectTable;
  37. GUID _ObjectTableId;
  38. PWCHAR _wszDfsName;
  39. PWCHAR _wszObjectDN;
  40. BOOLEAN _IsObjectTableUpToDate();
  41. DWORD _ReadObjectTable();
  42. DWORD _FlushObjectTable();
  43. DWORD _InsertLdapObject(PLDAP_OBJECT pldapObject);
  44. VOID _DestroyObjectTable();
  45. LPWSTR* _RemoteServerList;
  46. };