path.h
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 2k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. /*
  2.  * path.h - Path ADT module description.
  3.  */
  4. /* Types
  5.  ********/
  6. /* handles */
  7. DECLARE_HANDLE(HPATHLIST);
  8. DECLARE_STANDARD_TYPES(HPATHLIST);
  9. DECLARE_HANDLE(HPATH);
  10. DECLARE_STANDARD_TYPES(HPATH);
  11. /* path results returned by AddPath() */
  12. typedef enum _pathresult
  13. {
  14.    PR_SUCCESS,
  15.    PR_UNAVAILABLE_VOLUME,
  16.    PR_OUT_OF_MEMORY,
  17.    PR_INVALID_PATH
  18. }
  19. PATHRESULT;
  20. DECLARE_STANDARD_TYPES(PATHRESULT);
  21. /* Prototypes
  22.  *************/
  23. /* path.c */
  24. extern BOOL CreatePathList(DWORD, HWND, PHPATHLIST);
  25. extern void DestroyPathList(HPATHLIST);
  26. extern void InvalidatePathListInfo(HPATHLIST);
  27. extern void ClearPathListInfo(HPATHLIST);
  28. extern PATHRESULT AddPath(HPATHLIST, LPCTSTR, PHPATH);
  29. extern BOOL AddChildPath(HPATHLIST, HPATH, LPCTSTR, PHPATH);
  30. extern void DeletePath(HPATH);
  31. extern BOOL CopyPath(HPATH, HPATHLIST, PHPATH);
  32. extern void GetPathString(HPATH, LPTSTR);
  33. extern void GetPathRootString(HPATH, LPTSTR);
  34. extern void GetPathSuffixString(HPATH, LPTSTR);
  35. extern BOOL AllocatePathString(HPATH, LPTSTR *);
  36. #ifdef DEBUG
  37. extern LPCTSTR DebugGetPathString(HPATH);
  38. extern ULONG GetPathCount(HPATHLIST);
  39. #endif
  40. extern BOOL IsPathVolumeAvailable(HPATH);
  41. extern HVOLUMEID GetPathVolumeID(HPATH);
  42. extern BOOL MyIsPathOnVolume(LPCTSTR, HPATH);
  43. extern COMPARISONRESULT ComparePaths(HPATH, HPATH);
  44. extern COMPARISONRESULT ComparePathVolumes(HPATH, HPATH);
  45. extern BOOL IsPathPrefix(HPATH, HPATH);
  46. extern BOOL SubtreesIntersect(HPATH, HPATH);
  47. extern LPTSTR FindEndOfRootSpec(LPCTSTR, HPATH);
  48. extern COMPARISONRESULT ComparePointers(PCVOID, PCVOID);
  49. extern LPTSTR FindChildPathSuffix(HPATH, HPATH, LPTSTR);
  50. extern TWINRESULT TWINRESULTFromLastError(TWINRESULT);
  51. extern BOOL IsValidHPATH(HPATH);
  52. extern BOOL IsValidHVOLUMEID(HVOLUMEID);
  53. #if defined(DEBUG) || defined(VSTF)
  54. extern BOOL IsValidHPATHLIST(HPATHLIST);
  55. #endif