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.

168 lines
3.4 KiB

  1. /*++
  2. Copyright (c) 1990-2000 Microsoft Corporation
  3. Module Name:
  4. fatvol.hxx
  5. Abstract:
  6. This class implements FAT only VOLUME items.
  7. Author:
  8. Mark Shavlik (marks) 13-Feb-90
  9. --*/
  10. #if !defined(FATVOL)
  11. #define FATVOL
  12. #include "volume.hxx"
  13. #include "rfatsa.hxx"
  14. //
  15. // Forward references
  16. //
  17. DECLARE_CLASS( DP_DRIVE );
  18. DECLARE_CLASS( FAT_VOL );
  19. DECLARE_CLASS( MESSAGE );
  20. #if !defined( _SETUP_LOADER_ )
  21. class FAT_VOL : public VOL_LIODPDRV {
  22. public:
  23. DECLARE_CONSTRUCTOR( FAT_VOL );
  24. VIRTUAL
  25. ~FAT_VOL(
  26. );
  27. NONVIRTUAL
  28. FORMAT_ERROR_CODE
  29. Initialize(
  30. IN PCWSTRING NtDriveName,
  31. IN OUT PMESSAGE Message DEFAULT NULL,
  32. IN BOOLEAN ExclusiveWrite DEFAULT FALSE,
  33. IN BOOLEAN FormatMedia DEFAULT FALSE,
  34. IN MEDIA_TYPE MediaType DEFAULT Unknown,
  35. IN USHORT FormatType DEFAULT DP_DRIVE::NONE,
  36. IN BOOLEAN ForceDismount DEFAULT FALSE
  37. );
  38. //
  39. // Chkdsk's version of initialize.
  40. //
  41. NONVIRTUAL
  42. BOOLEAN
  43. Initialize(
  44. IN OUT PMESSAGE Message DEFAULT NULL,
  45. IN PCWSTRING NtDriveName DEFAULT NULL,
  46. IN BOOLEAN OnlyIfDirty DEFAULT FALSE,
  47. IN USHORT FormatType DEFAULT DP_DRIVE::NONE
  48. );
  49. NONVIRTUAL
  50. BOOLEAN
  51. IsFileContiguous(
  52. IN PCWSTRING FullPathFileName,
  53. IN OUT PMESSAGE Message DEFAULT NULL,
  54. OUT PULONG NumBlocks DEFAULT NULL
  55. );
  56. NONVIRTUAL
  57. BOOLEAN
  58. ContiguityReport(
  59. IN PCWSTRING DirectoryPath,
  60. IN PCDSTRING FilesToCheck,
  61. IN ULONG NumberOfFiles,
  62. IN OUT PMESSAGE Message
  63. );
  64. NONVIRTUAL
  65. PVOL_LIODPDRV
  66. QueryDupVolume(
  67. IN PCWSTRING NtDriveName,
  68. IN OUT PMESSAGE Message DEFAULT NULL,
  69. IN BOOLEAN ExclusiveWrite DEFAULT FALSE,
  70. IN BOOLEAN FormatMedia DEFAULT FALSE,
  71. IN MEDIA_TYPE MediaType DEFAULT Unknown
  72. ) CONST;
  73. private:
  74. NONVIRTUAL
  75. VOID
  76. Construct (
  77. );
  78. NONVIRTUAL
  79. VOID
  80. Destroy(
  81. );
  82. REAL_FAT_SA _fatsa;
  83. };
  84. #else // _SETUP_LOADER_ is defined
  85. class FAT_VOL : public VOL_LIODPDRV {
  86. public:
  87. DECLARE_CONSTRUCTOR( FAT_VOL );
  88. VIRTUAL
  89. ~FAT_VOL(
  90. );
  91. NONVIRTUAL
  92. BOOLEAN
  93. Initialize(
  94. IN ULONG DeviceHandle,
  95. IN USHORT FormatType
  96. );
  97. VIRTUAL
  98. ARC_STATUS
  99. MarkDirty(
  100. );
  101. VIRTUAL
  102. ARC_STATUS
  103. Flush(
  104. IN BOOLEAN JustHandle
  105. );
  106. private:
  107. NONVIRTUAL
  108. VOID
  109. Construct (
  110. );
  111. NONVIRTUAL
  112. VOID
  113. Destroy(
  114. );
  115. REAL_FAT_SA _fatsa;
  116. };
  117. #endif // _SETUP_LOADER_
  118. #endif