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.

159 lines
3.1 KiB

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