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.

84 lines
2.4 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. FTMan
  5. File Name:
  6. FTUtil.h
  7. Abstract:
  8. Definition of FT utilities
  9. Author:
  10. Cristian Teodorescu October 29, 1998
  11. Notes:
  12. Revision History:
  13. --*/
  14. /////////////////////////////////////////////////////////////////////////////
  15. #if !defined(AFX_FTUTIL_H_INCLUDED_)
  16. #define AFX_FTUTIL_H_INCLUDED_
  17. #if _MSC_VER > 1000
  18. #pragma once
  19. #endif // _MSC_VER > 1000
  20. #include <FTTypes.h>
  21. #include "FTManDef.h"
  22. // Break a logical volume
  23. BOOL FTBreak( FT_LOGICAL_DISK_ID llVolID );
  24. // Check the IO status of a logical volume
  25. BOOL FTChkIO( FT_LOGICAL_DISK_ID llVolID, BOOL* pbOK );
  26. // Extend the file system of a volume to the maximum possible
  27. BOOL FTExtend( FT_LOGICAL_DISK_ID llVolID );
  28. // Initialize a logical volume with repairing ( or not ) the orphan member
  29. BOOL FTInit( FT_LOGICAL_DISK_ID llVolID, BOOL bInitOrphans = TRUE );
  30. // Create a mirror set
  31. BOOL FTMirror( FT_LOGICAL_DISK_ID* arrVolID, WORD wNumVols, FT_LOGICAL_DISK_ID* pllVolID = NULL );
  32. // Orphan a logical volume member
  33. BOOL FTOrphan( FT_LOGICAL_DISK_ID llVolID, WORD wMember );
  34. // Create a FT partition
  35. BOOL FTPart( const CString& strVolumeName, TCHAR cDriveLetter=_T('\0'), FT_LOGICAL_DISK_ID* pllVolID = NULL );
  36. // Replace a member of a logical volume with another logical volume and start the regeneration process.
  37. BOOL FTRegen( FT_LOGICAL_DISK_ID llVolID, WORD wMember, FT_LOGICAL_DISK_ID llReplVolID, FT_LOGICAL_DISK_ID* pllVolID = NULL );
  38. // Create a stripe set
  39. BOOL FTStripe( FT_LOGICAL_DISK_ID* arrVolID, WORD wNumVols, ULONG ulStripeSize, FT_LOGICAL_DISK_ID* pllVolID = NULL );
  40. // Create a stripe set with parity
  41. BOOL FTSWP( FT_LOGICAL_DISK_ID* arrVolID, WORD wNumVols, ULONG ulStripeSize, FT_LOGICAL_DISK_ID* pllVolID = NULL );
  42. // Create a volume set
  43. BOOL FTVolSet( FT_LOGICAL_DISK_ID* arrVolID, WORD wNumVols, FT_LOGICAL_DISK_ID* pllVolID = NULL );
  44. // Get the NT name of a logical volume
  45. BOOL FTQueryNTDeviceName( FT_LOGICAL_DISK_ID llVolID, CString& strNTName );
  46. // Retrieve all disks the logical volume is located on
  47. BOOL FTGetDisksSet( FT_LOGICAL_DISK_ID llVolID, CULONGSet& setDisks );
  48. // Get the volume name of the logical volume
  49. BOOL FTQueryVolumeName( FT_LOGICAL_DISK_ID llVolID, CString& strVolumeName );
  50. // Delete a logical volume by deleting all its physical partitions
  51. BOOL FTDelete( FT_LOGICAL_DISK_ID llVolID );
  52. #endif // !defined(AFX_FTUTIL_H_INCLUDED_)