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

Windows Kernel

Development Platform:

Visual C++

  1. /*
  2.  * volume.h - Volume ADT module description.
  3.  */
  4. /* Types
  5.  ********/
  6. /* handles */
  7. DECLARE_HANDLE(HVOLUMELIST);
  8. DECLARE_STANDARD_TYPES(HVOLUMELIST);
  9. DECLARE_HANDLE(HVOLUME);
  10. DECLARE_STANDARD_TYPES(HVOLUME);
  11. /* volume results returned by AddVolume() */
  12. typedef enum _volumeresult
  13. {
  14.    VR_SUCCESS,
  15.    VR_UNAVAILABLE_VOLUME,
  16.    VR_OUT_OF_MEMORY,
  17.    VR_INVALID_PATH
  18. }
  19. VOLUMERESULT;
  20. DECLARE_STANDARD_TYPES(VOLUMERESULT);
  21. /* Prototypes
  22.  *************/
  23. /* volume.c */
  24. extern BOOL CreateVolumeList(DWORD, HWND, PHVOLUMELIST);
  25. extern void DestroyVolumeList(HVOLUMELIST);
  26. extern void InvalidateVolumeListInfo(HVOLUMELIST);
  27. PUBLIC_CODE void ClearVolumeListInfo(HVOLUMELIST);
  28. extern VOLUMERESULT AddVolume(HVOLUMELIST, LPCTSTR, PHVOLUME, LPTSTR);
  29. extern void DeleteVolume(HVOLUME);
  30. extern COMPARISONRESULT CompareVolumes(HVOLUME, HVOLUME);
  31. extern BOOL CopyVolume(HVOLUME, HVOLUMELIST, PHVOLUME);
  32. extern BOOL IsVolumeAvailable(HVOLUME);
  33. extern void GetVolumeRootPath(HVOLUME, LPTSTR);
  34. #ifdef DEBUG
  35. extern LPTSTR DebugGetVolumeRootPath(HVOLUME, LPTSTR);
  36. extern ULONG GetVolumeCount(HVOLUMELIST);
  37. #endif
  38. extern void DescribeVolume(HVOLUME, PVOLUMEDESC);
  39. extern TWINRESULT WriteVolumeList(HCACHEDFILE, HVOLUMELIST);
  40. extern TWINRESULT ReadVolumeList(HCACHEDFILE, HVOLUMELIST, PHHANDLETRANS);
  41. extern BOOL IsValidHVOLUME(HVOLUME);
  42. #if defined(DEBUG) || defined(VSTF)
  43. extern BOOL IsValidHVOLUMELIST(HVOLUMELIST);
  44. #endif