Unit 'uvirtuallayer_ole_helpers' Package
[Overview][Types][Classes][Index] [#pl_fpspreadsheet]

TFATIndirect

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: uvirtuallayer_ole_helpers.pas line 59

type TFATIndirect = class

protected

  FDirtyMedia: Boolean;

  

  FFATCache: TFATCacheItem;

  

  FMiscSectorBuffer: PBYTE;

  

  FStream: TStream;

  

  FHeader: TWCBFStructuredStorageHeader;

  

  FSectorSize: SizeUint;

  

  FEntriesShort: SizeUint;

  

  FDIFArray: array of PSECT;

  

  FFATEntriesPerSect: SizeUint;

  

  FNeedEndianChange: Boolean;

  

  FHeaderLength: SizeUint;

  

  procedure FlushCaches;

  

  function iLEToN();

  

  function iNToLE();

  

  procedure iDIFFATLEToN();

  

  procedure iDIFFATNToLE();

  

  procedure iHeaderLEToN();

  

  procedure iHeaderNToLE();

  

  function ComposeFATEntry();

  

  procedure DecomposeFATEntry();

  

  function WriteToMiniFAT();

  

  function ReadFromMiniFAT();

  

  procedure ReadSector();

  

  procedure WriteSector();

  

  procedure ReadFATSector();

  

  procedure WriteFATSector();

  

  function IsReservedValue();

  

  function LoadDIFArray;

  

  function UnloadDIFArray;

  

  function SectorAbsolute();

  

  function FindFreeFAT();

  

  function AllocateNewSector();

  

  function GetStreamSizeInSectors();

  

  function GetFATOffsetForPosition();

  

  function GetFATRemainForPosition();

  

  function ReadFATEntryValue();

  

  procedure WriteFATEntryValue();

  

  procedure ResynchronizePosition();

  

  procedure ResynchronizePositionWithAllocation();

  

  function FollowFATLinkage();

  

  procedure Format(); virtual;

  

public

  DirectoryContext: TFATStreamContext;

  

  MiniFATContext: TFATStreamContext;

  

  MiniFATDataContext: TFATStreamContext;

  

  property DirtyMedia: Boolean; [rw]

  

  property HeaderLength: SizeUint; [r]

  

  function OpenStream();

  

  procedure CloseStream();

  

  function ReadData();

  

  function WriteData();

  

  function StreamSeekPosition();

  

  procedure ResetMiniFATLinkage();

  

  procedure ResetFATLinkage();

  

  function IsSizeInMiniFAT();

  

  function Initialize();

  

  constructor Create();

  

  destructor Destroy; override;

  

end;

Inheritance

TFATIndirect

  

|

TObject



CT Web help

CodeTyphon Studio