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.

47 lines
1.2 KiB

  1. #ifndef __A51_INDEX__H_
  2. #define __A51_INDEX__H_
  3. #include "btr.h"
  4. class CBtrIndex
  5. {
  6. DWORD m_dwPrefixLength;
  7. CBTree bt;
  8. CBTreeFile ps;
  9. BOOL CopyStringToWIN32_FIND_DATA(
  10. LPSTR pszSource,
  11. LPWSTR wszDest,
  12. bool bCopyFullPath = false
  13. );
  14. public:
  15. CBtrIndex();
  16. ~CBtrIndex();
  17. long Shutdown(DWORD dwShutDownFlags);
  18. long Initialize(DWORD dwPrefixLength, LPCWSTR wszRepositoryDir,
  19. CPageSource* pSource );
  20. long Create(LPCWSTR wszFileName);
  21. long Delete(LPCWSTR wszFileName);
  22. long FindFirst(LPCWSTR wszPrefix, WIN32_FIND_DATAW* pfd, void** ppHandle);
  23. long FindNext(void* pHandle, WIN32_FIND_DATAW* pfd);
  24. long FindClose(void* pHandle);
  25. long IndexEnumerationBegin(const wchar_t *wszSearchPrefix, void **ppHandle);
  26. long IndexEnumerationEnd(void *pHandle);
  27. long IndexEnumerationNext(void *pHandle, CFileName &wszFileName, bool bCopyFullPath = false);
  28. long ReadNextIndex(const wchar_t *wszSearch, CFileName &wszNextIndex);
  29. long InvalidateCache();
  30. long FlushCaches();
  31. CBTree& GetTree() {return bt;}
  32. };
  33. #endif