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.

91 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. --*/
  12. #if !defined(FATDIR_DEFN)
  13. #define FATDIR_DEFN
  14. #if defined ( _AUTOCHECK_ ) || defined( _EFICHECK_ )
  15. #define UFAT_EXPORT
  16. #elif defined ( _UFAT_MEMBER_ )
  17. #define UFAT_EXPORT __declspec(dllexport)
  18. #else
  19. #define UFAT_EXPORT __declspec(dllimport)
  20. #endif
  21. DECLARE_CLASS( FATDIR );
  22. DECLARE_CLASS( WSTRING );
  23. DEFINE_POINTER_TYPES( PFATDIR );
  24. CONST BytesPerDirent = 32;
  25. class FATDIR : public OBJECT {
  26. public:
  27. VIRTUAL
  28. PVOID
  29. GetDirEntry(
  30. IN LONG EntryNumber
  31. ) PURE;
  32. NONVIRTUAL
  33. UFAT_EXPORT
  34. PVOID
  35. SearchForDirEntry(
  36. IN PCWSTRING FileName
  37. );
  38. NONVIRTUAL
  39. PVOID
  40. GetFreeDirEntry(
  41. );
  42. VIRTUAL
  43. BOOLEAN
  44. Read(
  45. ) PURE;
  46. VIRTUAL
  47. BOOLEAN
  48. Write(
  49. ) PURE;
  50. VIRTUAL
  51. LONG
  52. QueryNumberOfEntries(
  53. ) PURE;
  54. NONVIRTUAL
  55. UFAT_EXPORT
  56. BOOLEAN
  57. QueryLongName(
  58. IN LONG EntryNumber,
  59. OUT PWSTRING LongName
  60. );
  61. protected:
  62. DECLARE_CONSTRUCTOR( FATDIR );
  63. };
  64. #endif // FATDIR_DEFN