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.

95 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. fatdir.hxx
  5. Abstract:
  6. This class is a virtual template for a FAT directory. It will be
  7. passed to functions who wish to query the directory entries from the
  8. directory without knowledge of how or where the directory is stored.
  9. The user of this class will not be able to read or write the
  10. directory to disk.
  11. Author:
  12. Norbert P. Kusters (norbertk) 4-Dec-90
  13. --*/
  14. #if !defined(FATDIR_DEFN)
  15. #define FATDIR_DEFN
  16. #if defined ( _AUTOCHECK_ )
  17. #define UFAT_EXPORT
  18. #elif defined ( _UFAT_MEMBER_ )
  19. #define UFAT_EXPORT __declspec(dllexport)
  20. #else
  21. #define UFAT_EXPORT __declspec(dllimport)
  22. #endif
  23. DECLARE_CLASS( FATDIR );
  24. DECLARE_CLASS( WSTRING );
  25. DEFINE_POINTER_TYPES( PFATDIR );
  26. CONST BytesPerDirent = 32;
  27. class FATDIR : public OBJECT {
  28. public:
  29. VIRTUAL
  30. PVOID
  31. GetDirEntry(
  32. IN LONG EntryNumber
  33. ) PURE;
  34. NONVIRTUAL
  35. UFAT_EXPORT
  36. PVOID
  37. SearchForDirEntry(
  38. IN PCWSTRING FileName
  39. );
  40. NONVIRTUAL
  41. PVOID
  42. GetFreeDirEntry(
  43. );
  44. VIRTUAL
  45. BOOLEAN
  46. Read(
  47. ) PURE;
  48. VIRTUAL
  49. BOOLEAN
  50. Write(
  51. ) PURE;
  52. VIRTUAL
  53. LONG
  54. QueryNumberOfEntries(
  55. ) PURE;
  56. NONVIRTUAL
  57. UFAT_EXPORT
  58. BOOLEAN
  59. QueryLongName(
  60. IN LONG EntryNumber,
  61. OUT PWSTRING LongName
  62. );
  63. protected:
  64. DECLARE_CONSTRUCTOR( FATDIR );
  65. };
  66. #endif // FATDIR_DEFN