TFileSysDriver

From Ultibo.org
Revision as of 07:09, 29 July 2021 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Filesystem


Description


To be documented

Class definitions



TFileSysDriver = class(TObject)

constructor Create;  
destructor Destroy; override;  
private
FLock:TSynchronizerHandle;  
 
FCache:THashCache;  
FImages:TFileSysList;  
FDrives:TFileSysList;  
FVolumes:TFileSysList;  
FDevices:TFileSysList;  
FPartitions:TFileSysList;  
 
FControllers:TFileSysList;  
FRecognizers:TFileSysList;  
FRedirectors:TFileSysList;  
FFileSystems:TFileSysList;  
 
FRawHandles:TFileSysList;  
FEnumHandles:TFileSysList;  
FFileHandles:TFileSysList;  
FFindHandles:TFileSysList;  
 
FCurrentIndex:LongWord; TLS Index for storing current drive
FCurrentDrive:TDiskDrive; Current drive when global current directory is enabled
 
FAllowFloppy:Boolean; Allow Scanning of Floppy Devices
FAllowDrives:Boolean; Allow Disk Drives to represent Volumes by drive letter
FOemConvert:Boolean; Convert OEM character strings to ANSI
 
FEntryTimer:TEntryTimer;  
 
FDefaultRecognizer:TRecognizer;  
 
function ReaderLock:Boolean;  
function ReaderUnlock:Boolean;  
function WriterLock:Boolean;  
function WriterUnlock:Boolean;  
 
function GetCurrent:TDiskDrive;  
function SetCurrent(ACurrent:TDiskDrive):Boolean;  
 
function FindMatchingFile(ADrive:TDiskDrive; AVolume:TDiskVolume; var ASearchRec:TSearchRec):Integer;  
public
property Cache:THashCache read FCache;  
 
property AllowFloppy:Boolean read FAllowFloppy write FAllowFloppy;  
property AllowDrives:Boolean read FAllowDrives write FAllowDrives;  
property OemConvert:Boolean read FOemConvert write FOemConvert;  
 
function OpenCache(ACacheSize,ACacheKeys,APageSize:LongWord; ACacheMode:TCacheMode):Boolean;  
function CloseCache:Boolean;  
function FlushCache(AAll:Boolean):Boolean;  
function DiscardCache(AAll:Boolean):Boolean;  
function GetCacheStatistics(var AStatistics:TCacheStatistics):Boolean;  
 
function GetCatalogByNo(const APath:String; ACatalogNo:LongWord; ALock:Boolean; AState:LongWord):TDiskCatalog;  
function GetCatalogByName(const APath,AName:String; ALock:Boolean; AState:LongWord):TDiskCatalog;  
function GetCatalogByNext(const APath:String; APrevious:TDiskCatalog; ALock,AUnlock:Boolean; AState:LongWord):TDiskCatalog;  
 
function AddImage(AImage:TDiskImage):Boolean;  
function RemoveImage(AImage:TDiskImage):Boolean;  
function CheckImage(AImage:TDiskImage; ALock:Boolean; AState:LongWord):Boolean;  
 
function GetImageByNo(AImageNo:Integer; ALock:Boolean; AState:LongWord):TDiskImage;  
function GetImageByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskImage;  
function GetImageByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TDiskImage;  
function GetImageByController(AController:TDiskController; ALock:Boolean; AState:LongWord):TDiskImage;  
function GetImagesByController(AController:TDiskController; ALock:Boolean; AState:LongWord):TList;  
function GetImageByNext(APrevious:TDiskImage; ALock,AUnlock:Boolean; AState:LongWord):TDiskImage;  
 
function GetNextImageNo:Integer;  
function GetMaxImageNo:Integer;  
 
function AddDrive(ADrive:TDiskDrive):Boolean;  
function RemoveDrive(ADrive:TDiskDrive):Boolean;  
function CheckDrive(ADrive:TDiskDrive; ALock:Boolean; AState:LongWord):Boolean;  
 
function GetDriveByNo(ADriveNo:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDriveByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDriveByParent(const AParent:String; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDriveByVolume(AVolume:TDiskVolume; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDriveByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDrivesByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TList;  
function GetDriveByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDrivesByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TList;  
function GetDriveByNext(APrevious:TDiskDrive; ALock,AUnlock:Boolean; AState:LongWord):TDiskDrive;  
 
function GetNextDriveNo(AMediaType:TMediaType):Integer;  
function GetMaxDriveNo(AMediaType:TMediaType):Integer;  
 
function AddVolume(AVolume:TDiskVolume):Boolean;  
function RemoveVolume(AVolume:TDiskVolume):Boolean;  
function CheckVolume(AVolume:TDiskVolume; ALock:Boolean; AState:LongWord):Boolean;  
 
function GetVolumeByNo(AVolumeNo:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;  
function GetVolumeByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskVolume;  
function GetVolumeByParent(const AParent:String; ALock:Boolean; AState:LongWord):TDiskVolume;  
function GetVolumeByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TDiskVolume;  
function GetVolumesByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TList;  
function GetVolumeByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskVolume;  
function GetVolumesByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TList;  
function GetVolumeByNext(APrevious:TDiskVolume; ALock,AUnlock:Boolean; AState:LongWord):TDiskVolume;  
 
function GetNextVolumeNo:Integer;  
function GetMaxVolumeNo:Integer;  
 
function AddDevice(ADevice:TDiskDevice):Boolean;  
function RemoveDevice(ADevice:TDiskDevice):Boolean;  
function CheckDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):Boolean;  
 
function GetDeviceByNo(ADeviceNo:Integer; ALock:Boolean; AState:LongWord):TDiskDevice;  
function GetDeviceByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskDevice;  
function GetDeviceByImage(AImage:TDiskImage; ALock:Boolean; AState:LongWord):TDiskDevice;  
function GetDeviceByStorage(AStorage:PStorageDevice; ALock:Boolean; AState:LongWord):TDiskDevice;  
function GetDeviceByController(AController:TDiskController; ALock:Boolean; AState:LongWord):TDiskDevice;  
function GetDevicesByController(AController:TDiskController; ALock:Boolean; AState:LongWord):TList;  
function GetDeviceByIdentifier(AController:TDiskController; const AIdentifier:String; ALock:Boolean; AState:LongWord):TDiskDevice;  
function GetDeviceByNext(APrevious:TDiskDevice; ALock,AUnlock:Boolean; AState:LongWord):TDiskDevice;  
 
function GetNextDeviceNo(AMediaType:TMediaType):Integer;  
function GetMaxDeviceNo(AMediaType:TMediaType):Integer;  
 
function AddPartition(APartition:TDiskPartition):Boolean;  
function RemovePartition(APartition:TDiskPartition):Boolean;  
function CheckPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):Boolean;  
 
function GetPartitionByNo(ADevice:TDiskDevice; APartitionNo:Integer; AExtended,ALock:Boolean; AState:LongWord):TDiskPartition;  
function GetPartitionByName(ADevice:TDiskDevice; const AName:String; ALock:Boolean; AState:LongWord):TDiskPartition;  
function GetPartitionByPath(const APath:String; ALock:Boolean; AState:LongWord):TDiskPartition;  
function GetPartitionByEntryNo(ADevice:TDiskDevice; APartition:TDiskPartition; AEntryNo:Integer; ALock:Boolean; AState:LongWord):TDiskPartition;  
function GetPartitionByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TDiskPartition;  
function GetPartitionsByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TList;  
function GetPartitionByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskPartition;  
function GetPartitionsByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TList;  
function GetPartitionByNext(APrevious:TDiskPartition; ALock,AUnlock:Boolean; AState:LongWord):TDiskPartition;  
 
function GetNextPartitionNo(ADevice:TDiskDevice; AExtended:Boolean):Integer;  
function GetMaxPartitionNo(ADevice:TDiskDevice; AExtended:Boolean):Integer;  
 
function AddController(AController:TDiskController):Boolean;  
function RemoveController(AController:TDiskController):Boolean;  
function CheckController(AController:TDiskController; ALock:Boolean; AState:LongWord):Boolean;  
 
function GetControllerByNo(AControllerNo:Integer; ALock:Boolean; AState:LongWord):TDiskController;  
function GetControllerByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskController;  
function GetControllerByNext(APrevious:TDiskController; ALock,AUnlock:Boolean; AState:LongWord):TDiskController;  
 
function GetNextControllerNo:Integer;  
function GetMaxControllerNo:Integer;  
 
function AddRecognizer(ARecognizer:TRecognizer):Boolean;  
function RemoveRecognizer(ARecognizer:TRecognizer):Boolean;  
function CheckRecognizer(ARecognizer:TRecognizer; ALock:Boolean; AState:LongWord):Boolean;  
 
function GetRecognizerByImage(AImage:TDiskImage; ALock:Boolean; AState:LongWord):TRecognizer;  
function GetRecognizerByVolume(AVolume:TDiskVolume; ALock:Boolean; AState:LongWord):TRecognizer;  
function GetRecognizerByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TRecognizer;  
function GetRecognizerByPartitionId(APartitionId:Byte; ALock:Boolean; AState:LongWord):TRecognizer;  
function GetRecognizerByBootSector(ABootSector:PBootSector; const AStartSector,ASectorCount:Int64; ALock:Boolean; AState:LongWord):TRecognizer;  
function GetRecognizerByNext(APrevious:TRecognizer; ALock,AUnlock:Boolean; AState:LongWord):TRecognizer;  
 
function AddRedirector(ARedirector:TRedirector):Boolean;  
function RemoveRedirector(ARedirector:TRedirector):Boolean;  
function CheckRedirector(ARedirector:TRedirector; ALock:Boolean; AState:LongWord):Boolean;  
 
function GetRedirectorByPath(const APath:String; ALock:Boolean; AState:LongWord):TRedirector;  
function GetRedirectorByDrive(ADrive:TDiskDrive; ALock:Boolean; AState:LongWord):TRedirector;  
function GetRedirectorByNext(APrevious:TRedirector; ALock,AUnlock:Boolean; AState:LongWord):TRedirector;  
 
function AddFileSystem(AFileSystem:TFileSystem):Boolean;  
function RemoveFileSystem(AFileSystem:TFileSystem):Boolean;  
function CheckFileSystem(AFileSystem:TFileSystem; ALock:Boolean; AState:LongWord):Boolean;  
 
function GetFileSystemByDrive(ADrive:TDiskDrive; ALock:Boolean; AState:LongWord):TFileSystem;  
function GetFileSystemByVolume(AVolume:TDiskVolume; ALock:Boolean; AState:LongWord):TFileSystem;  
function GetFileSystemByRootName(const AName:String; ALock:Boolean; AState:LongWord):TFileSystem;  
function GetFileSystemByRootPath(const APath:String; ALock:Boolean; AState:LongWord):TFileSystem;  
function GetFileSystemByNext(APrevious:TFileSystem; ALock,AUnlock:Boolean; AState:LongWord):TFileSystem;  
 
function LocateDevices:Boolean;  
function LocatePartitions:Boolean;  
function LocateVolumes:Boolean;  
function LocateDrives:Boolean;  
 
function OpenRawHandle(ADevice:TDiskDevice; APartition:TDiskPartition; AVolume:TDiskVolume; ADrive:TDiskDrive; AMode:Integer; ALock:Boolean; AState:LongWord):TRawHandle;  
function CloseRawHandle(AHandle:TRawHandle):Boolean;  
function GetRawHandleByNext(APrevious:TRawHandle; ALock,AUnlock:Boolean; AState:LongWord):TRawHandle;  
 
function ReleaseRawHandles(ADevice:TDiskDevice; APartition:TDiskPartition; AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;  
 
function OpenEnumHandle(AFileSystem:TFileSystem; ALock:Boolean; AState:LongWord):TEnumHandle;  
function CloseEnumHandle(AHandle:TEnumHandle):Boolean;  
function GetEnumHandleByNext(APrevious:TEnumHandle; ALock,AUnlock:Boolean; AState:LongWord):TEnumHandle;  
 
function UpdateEnumHandles(ADevice:TDiskDevice; APartition:TDiskPartition; ADrive:TDiskDrive; AVolume:TDiskVolume; AImage:TDiskImage; ACatalog:TDiskCatalog):Boolean;  
function ReleaseEnumHandles(AFileSystem:TFileSystem):Boolean;  
 
function OpenFileHandle(AVolume:TDiskVolume; ADrive:TDiskDrive; AParent,AEntry:TDiskEntry; AMode:Integer; ALock:Boolean; AState:LongWord):TFileHandle;  
function CloseFileHandle(AHandle:TFileHandle):Boolean;  
function GetFileHandleByNext(APrevious:TFileHandle; ALock,AUnlock:Boolean; AState:LongWord):TFileHandle;  
 
function CheckFileHandles(AEntry:TDiskEntry):Boolean;  
function ReleaseFileHandles(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;  
function DismountFileHandles(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;  
 
function OpenFindHandle(AVolume:TDiskVolume; ADrive:TDiskDrive; AParent:TDiskEntry; const AMask:String; AAttr,AFlags:LongWord; ALock:Boolean; AState:LongWord):TFindHandle;  
function CloseFindHandle(AHandle:TFindHandle):Boolean;  
function GetFindHandleByNext(APrevious:TFindHandle; ALock,AUnlock:Boolean; AState:LongWord):TFindHandle;  
 
function UpdateFindHandles(AEntry:TDiskEntry):Boolean;  
function ReleaseFindHandles(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;  
function DismountFindHandles(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;  
 
function LockMedia(const AName:String):Boolean;  
function UnlockMedia(const AName:String):Boolean;  
function EjectMedia(const AName:String):Boolean;  
 
function MediaReady(const AName:String):Boolean;  
function MediaChanged(const AName:String):Boolean;  
function MediaLocked(const AName:String):Boolean;  
 
function InsertDevice(const AName:String):Boolean;  
function EjectDevice(const AName:String):Boolean;  
 
function OpenDevice(const AName:String; AMode:Integer):Integer;  
procedure CloseDevice(AHandle:Integer);  
function ReadDevice(AHandle:Integer; var ABuffer; ACount:Integer):Integer;  
function WriteDevice(AHandle:Integer; const ABuffer; ACount:Integer):Integer;  
function EraseDevice(AHandle:Integer; ACount:Integer):Integer;  
function SeekDevice(AHandle:Integer; const AOffset:Int64; AOrigin:Integer):Int64;  
 
function FindFirstDevice(var ASearchRec:TDiskSearchRec; AVerbose:Boolean):Integer;  
function FindNextDevice(var ASearchRec:TDiskSearchRec):Integer;  
procedure FindDeviceClose(var ASearchRec:TDiskSearchRec);  
 
function CreatePartition(const ADevice,AParent:String; APartitionId:Byte; ACount:LongWord; AActive:Boolean):Boolean;  
function DeletePartition(const APath:String):Boolean;  
function ModifyPartition(const APath:String; APartitionId:Byte):Boolean;  
function ActivatePartition(const APath:String; AActive:Boolean):Boolean;  
function ShrinkPartition(const APath:String; const AStart,ASize:Int64):Boolean;  
function ExpandPartition(const APath:String; const AStart,ASize:Int64):Boolean;  
 
function OpenPartition(const APath:String; AMode:Integer):Integer;  
procedure ClosePartition(AHandle:Integer);  
function ReadPartition(AHandle:Integer; var ABuffer; ACount:Integer):Integer;  
function WritePartition(AHandle:Integer; const ABuffer; ACount:Integer):Integer;  
function SeekPartition(AHandle:Integer; const AOffset:Int64; AOrigin:Integer):Int64;  
 
function FindFirstPartition(const ADevice:String; var ASearchRec:TPartitionSearchRec; AVerbose:Boolean):Integer;  
function FindNextPartition(var ASearchRec:TPartitionSearchRec):Integer;  
procedure FindPartitionClose(var ASearchRec:TPartitionSearchRec);  
 
function CreateVolume(const AParent:String; ADriveNo:Integer):Boolean;  
function DeleteVolume(Const AName:String):Boolean;  
function MountVolume(const AName:String; ADriveNo:Integer):Boolean;  
function DismountVolume(const AName:String):Boolean;  
function FormatVolume(const AName:String; AFloppyType:TFloppyType; AFileSysType:TFileSysType):Boolean;  
function DefragmentVolume(const AName:String):Boolean;  
function ConvertVolume(const AName:String; AFileSysType:TFileSysType):Boolean;  
function RepairVolume(const AName:String):Boolean;  
function CopyVolume(const AName,ADest:String):Boolean;  
function ShrinkVolume(const AName:String; const AStart,ASize:Int64):Boolean;  
function ExpandVolume(const AName:String; const AStart,ASize:Int64):Boolean;  
 
function OpenVolume(const AName:String; AMode:Integer):Integer;  
procedure CloseVolume(AHandle:Integer);  
function ReadVolume(AHandle:Integer; var ABuffer; ACount:Integer):Integer;  
function WriteVolume(AHandle:Integer; const ABuffer; ACount:Integer):Integer;  
function SeekVolume(AHandle:Integer; const AOffset:Int64; AOrigin:Integer):Int64;  
 
function FindFirstVolume(var ASearchRec:TVolumeSearchRec; AVerbose:Boolean):Integer;  
function FindNextVolume(var ASearchRec:TVolumeSearchRec):Integer;  
procedure FindVolumeClose(var ASearchRec:TVolumeSearchRec);  
 
function CreateDrive(const AName,AParent:String):Boolean;  
function DeleteDrive(const AName:String):Boolean;  
function FormatDrive(const AName:String; AFloppyType:TFloppyType; AFileSysType:TFileSysType):Boolean;  
 
function OpenDrive(const AName:String; AMode:Integer):Integer;  
procedure CloseDrive(AHandle:Integer);  
function ReadDrive(AHandle:Integer; var ABuffer; ACount:Integer):Integer;  
function WriteDrive(AHandle:Integer; const ABuffer; ACount:Integer):Integer;  
function SeekDrive(AHandle:Integer; const AOffset:Int64; AOrigin:Integer):Int64;  
 
function FindFirstDrive(var ASearchRec:TDriveSearchRec; AVerbose:Boolean):Integer;  
function FindNextDrive(var ASearchRec:TDriveSearchRec):Integer;  
procedure FindDriveClose(var ASearchRec:TDriveSearchRec);  
 
function MountImage(AImageNo:Integer):Boolean;  
function DismountImage(AImageNo:Integer):Boolean;  
function InsertImage(AImageNo:Integer):Boolean;  
function EjectImage(AImageNo:Integer):Boolean;  
function ConvertImage(AImageNo:Integer; AImageType:TImageType):Boolean;  
function CopyImage(AImageNo,ADestNo:Integer):Boolean;  
function ShrinkImage(AImageNo:Integer; const ASize:Int64):Boolean;  
function ExpandImage(AImageNo:Integer; const ASize:Int64):Boolean;  
 
function CreateImage(AImageNo:Integer; const AName:String; AImageType:TImageType; AMediaType:TMediaType; AFloppyType:TFloppyType; AAttributes:LongWord; ASectorSize:Word; const ASectorCount:Int64; ACylinders,AHeads,ASectors:LongWord; APartitionId:Byte):Integer;  
function OpenImage(AImageNo:Integer;const AName:String; AImageType:TImageType; AMediaType:TMediaType; AFloppyType:TFloppyType; AAttributes:LongWord; ASectorSize:Word; const ASectorCount:Int64; ACylinders,AHeads,ASectors:LongWord; APartitionId:Byte):Integer;  
function CloseImage(AImageNo:Integer):Boolean;  
 
function CreateSnapshot(AImageNo:Integer):Boolean;  
function DeleteSnapshot(AImageNo:Integer):Boolean;  
function MergeSnapshot(AImageNo:Integer):Boolean;  
 
function FindFirstImage(var ASearchRec:TImageSearchRec; AVerbose:Boolean):Integer;  
function FindNextImage(var ASearchRec:TImageSearchRec):Integer;  
procedure FindImageClose(var ASearchRec:TImageSearchRec);  
 
function CreateCatalog(const APath,AName:String; AMediaType:TMediaType; AFloppyType:TFloppyType; AAttributes:LongWord; ASectorSize:Word; const ASectorCount:Int64):LongWord;  
function DeleteCatalog(const APath:String; ACatalogNo:LongWord):Boolean;  
 
function FindFirstCatalog(const APath:String; var ASearchRec:TCatalogSearchRec):Integer;  
function FindNextCatalog(var ASearchRec:TCatalogSearchRec):Integer;  
procedure FindCatalogClose(var ASearchRec:TCatalogSearchRec);  
 
function CheckTimer:Boolean;  
function ProcessTimer:Boolean;  
 
function ScheduleEntry(AEntry:TDiskEntry; ATimeout:LongWord):Boolean;  
function UnscheduleEntry(AEntry:TDiskEntry):Boolean;  
 
function GetPathDrive(const APath:String):Byte;  
function GetDriveType(ADrive:Byte):TDriveType;  
function GetDriveData(ADrive:Byte):TDriveData;  
function GetDriveAttr(ADrive:Byte):LongWord;  
function GetDriveLabel(ADrive:Byte):String;  
function SetDriveLabel(ADrive:Byte; const ALabel:String):Boolean;  
function GetDriveSerial(ADrive:Byte):LongWord;  
function SetDriveSerial(ADrive:Byte; ASerial:LongWord):Boolean;  
function IsDriveValid(ADrive:Byte):Boolean;  
function GetValidDrives:LongWord;  
function GetValidDriveNames:TStringList;  
function GetValidDriveStrings:String;  
function GetDriveFreeSpace(ADrive:Byte):LongWord;  
function GetDriveFreeSpaceEx(ADrive:Byte):Int64;  
function GetDriveTotalSpace(ADrive:Byte):LongWord;  
function GetDriveTotalSpaceEx(ADrive:Byte):Int64;  
 
function GetDriveInformation(const APath:String; var AClusterSize:LongWord; var ATotalClusterCount,AFreeClusterCount:Int64):Boolean;  
 
function GetCurrentDrive:Byte;  
function SetCurrentDrive(const ADrive:String):Boolean;  
 
function GetPathVolume(const APath:String):String;  
function GetVolumeType(const AVolume:String):TDriveType;  
function GetVolumeData(const AVolume:String):TDriveData;  
function GetVolumeAttr(const AVolume:String):LongWord;  
function GetVolumeLabel(const AVolume:String):String;  
function SetVolumeLabel(const AVolume:String; const ALabel:String):Boolean;  
function GetVolumeSerial(const AVolume:String):LongWord;  
function SetVolumeSerial(const AVolume:String; ASerial:LongWord):Boolean;  
function IsVolumeValid(const AVolume:String):Boolean;  
function GetValidVolumeNames:TStringList;  
function GetVolumeFreeSpace(const AVolume:String):LongWord;  
function GetVolumeFreeSpaceEx(const AVolume:String):Int64;  
function GetVolumeTotalSpace(const AVolume:String):LongWord;  
function GetVolumeTotalSpaceEx(const AVolume:String):Int64;  
 
function FileOpen(const AFileName:String; AMode:Integer):THandle;  
function FileCreate(const AFileName:String; AMode:Integer = fmOpenReadWrite or fmShareExclusive):THandle;  
function DeleteFile(const AFileName:String):Boolean;  
procedure FileClose(AHandle:Integer);  
function RenameFile(const AOldName,ANewName:String):Boolean;  
function FileSeek(AHandle:THandle; AOffset,AOrigin:LongInt):LongInt;  
function FileFlush(AHandle:Integer):Boolean;  
function FileTruncate(AHandle:Integer):Boolean;  
function SetEndOfFile(AHandle:Integer):Boolean;  
 
function EndOfFile(AHandle:Integer):Boolean;  
function FilePos(AHandle:THandle):LongInt;  
function FileSize(AHandle:THandle):LongInt;  
 
function FileAge(const AFileName:String):Integer;  
function FileExists(const AFileName:String):Boolean;  
function FileGetAttr(const AFileName:String):Integer;  
function FileGetDate(AHandle:Integer):Integer;  
function FileSetAttr(const AFileName:String; AAttr:Integer):Integer;  
function FileSetDate(AHandle:Integer; AAge:Integer):Integer;  
 
function FileRead(AHandle:THandle; var ABuffer; ACount:LongInt):LongInt;  
function FileWrite(AHandle:THandle; const ABuffer; ACount:LongInt):LongInt;  
 
function CreateDir(const ADirName:String):Boolean;  
function RemoveDir(const ADirName:String):Boolean;  
function RenameDir(const AOldName,ANewName:String):Boolean;  
function GetCurrentDir:String;  
function GetCurrentDirEx(ADrive:Byte):String;  
function SetCurrentDir(const ADirName:String):Boolean;  
function SetCurrentDirEx(ADrive:Byte; const ADirName:String):Boolean;  
function DirectoryExists(const ADirName:String):Boolean;  
procedure ForceDirectories(ADirName:String);  
procedure DeleteTree(const ADirName:String);  
 
function FindFirst(const APath:String; AAttr:Integer; var ASearchRec:TSearchRec):Integer;  
function FindNext(var ASearchRec:TSearchRec):Integer;  
procedure FindClose(var ASearchRec:TSearchRec);  
 
function FindFirstStream(const AFileName:String; var ASearchRec:TStreamSearchRec):Integer;  
function FindNextStream(var ASearchRec:TStreamSearchRec):Integer;  
procedure FindStreamClose(var ASearchRec:TStreamSearchRec);  
 
function FindFirstFileName(const AFileName:String; var ASearchRec:TLinkSearchRec):Integer;  
function FindNextFileName(var ASearchRec:TLinkSearchRec):Integer;  
procedure FindFileNameClose(var ASearchRec:TLinkSearchRec);  
 
function CreateHardLink(const ALinkName,AFileName:String):Boolean;  
function DeleteHardLink(const ALinkName:String):Boolean;  
 
function MountPointExists(const APathName:String):Boolean;  
function CreateMountPoint(const APathName,AVolumeName:String):Boolean;  
function DeleteMountPoint(const APathName:String):Boolean;  
 
function JunctionPointExists(const APathName:String):Boolean;  
function CreateJunctionPoint(const APathName,AFolderName:String):Boolean;  
function DeleteJunctionPoint(const APathName:String):Boolean;  
 
function SymbolicLinkExists(const ALinkName:String):Boolean;  
function CreateSymbolicLink(const ALinkName,ATargetName:String; ADirectory:Boolean):Boolean;  
function CreateSymbolicLinkEx(const ALinkName,AShortName,ATargetName:String; ADirectory:Boolean):Boolean;  
function DeleteSymbolicLink(const ALinkName:String):Boolean;  
 
function GetMountPointTarget(const APathName:String):String;  
function GetJunctionPointTarget(const APathName:String):String;  
function GetSymbolicLinkTarget(const ALinkName:String):String;  
 
function SetFileShortName(const AFileName,AShortName:String):Boolean;  
function SetFileShortNameEx(AHandle:Integer; const AShortName:String):Boolean;  
 
function GetFileSecurity(const AFileName:String; ADescriptor:Pointer; var ASize:LongWord):Boolean;  
function SetFileSecurity(const AFileName:String; ADescriptor:Pointer):Boolean;  
 
function FileCopy(const ASourceFile,ADestFile:String; AFailIfExists:Boolean):Boolean;  
function FileCopyEx(const ASourceFile,ADestFile:String; AFailIfExists:Boolean; AUseSourceDate:Boolean; ADestDate:Integer; AUseSourceAttr:Boolean; ADestAttr:Integer):Boolean;  
 
function FileMove(const ASourceFile,ADestFile:String; AFailIfExists:Boolean):Boolean;  
function FileMoveEx(const ASourceFile,ADestFile:String; AFailIfExists:Boolean; AUseSourceDate:Boolean; ADestDate:Integer; AUseSourceAttr:Boolean; ADestAttr:Integer):Boolean;  
 
function GetPathName(const AFileName:String):String;  
 
function GetShortName(const AFileName:String):String;  
function GetLongName(const AFileName:String):String;  
function GetTrueName(const AFileName:String):String;  
 
function AddSlash(const AFilePath:String; ALeading,ATrailing:Boolean):String;  
function DeleteSlash(const AFilePath:String; ALeading,ATrailing:Boolean):String;  
 
function FileCreateEx(const AFileName,AShortName:String; AMode:Integer = fmOpenReadWrite or fmShareExclusive):THandle;  
function CreateDirEx(const ADirName,AShortName:String):Boolean;  
 
function FileSeekEx(AHandle:THandle; const AOffset:Int64; AOrigin:LongInt):Int64;  
 
function EndOfFileEx(AHandle:Integer):Boolean;  
function FilePosEx(AHandle:THandle):Int64;  
function FileSizeEx(AHandle:THandle):Int64;  
 
function FileAgeEx(const AFileName:String):TFileTime;  
 
function FileGetAttrEx(AHandle:Integer):Integer;  
 
function FileGetDateEx(AHandle:Integer):TFileTime;  
function FileSetDateEx(AHandle:Integer ;AAge:TFileTime):Integer;  
 
function GetFileTime(AHandle:Integer; ACreateTime,AAccessTime,AWriteTime:PFileTime):Boolean;  
function SetFileTime(AHandle:Integer; ACreateTime,AAccessTime,AWriteTime:PFileTime):Boolean;  
 
function FindOne(const APath:String; var ASearchRec:TFileSearchRec):Integer;  
function FindAll(const APath:String; var ASearchRec:TFileSearchRec):Integer;  
 
function FindFirstEx(const APath:String; var ASearchRec:TFileSearchRec):Integer;  
function FindNextEx(var ASearchRec:TFileSearchRec):Integer;  
procedure FindCloseEx(var ASearchRec:TFileSearchRec);  
 
function DefineDosDevice(const ADeviceName,ATargetPath:String; AFlags:LongWord):Boolean;  
function GetDiskType(const ARootPath:String):LongWord; Equivalent to Win32 GetDriveType
function GetDiskFreeSpace(const ARootPath:String; var ASectorsPerCluster,ABytesPerSector,ANumberOfFreeClusters,ATotalNumberOfClusters:LongWord):Boolean;  
function GetDiskFreeSpaceEx(const APathName:String; var AFreeBytesAvailableToCaller,ATotalNumberOfBytes,ATotalNumberOfFreeBytes:QWord):Boolean;  
function GetLogicalDrives:LongWord;  
function GetLogicalDriveStrings:String;  
function GetVolumeInformation(const ARootPath:String; var AVolumeName:String; var AVolumeSerialNumber,AMaximumComponentLength,AFileSystemFlags:LongWord; var ASystemName:String):Boolean;  
function QueryDosDevice(const ARootPath:String):String;  
function SetVolumeLabel Already Defined
 
function AreFileApisANSI:Boolean;  
function CloseFile(AHandle:THandle):Boolean; Equivalent to Win32 CloseHandle
function CopyFile(const AExistingName,ANewName:String; AFailIfExists:Boolean):Boolean;  
function CreateFile(const AFileName:String; AAccessMode,AShareMode,ACreateFlags,AFileAttributes:LongWord):THandle;  
function DeleteFile Already Defined
function FindCloseFile(AHandle:THandle):Boolean; Equivalent to Win32 FindClose
function FindFirstFile(const AFileName:String; var AFindData:TWin32FindData):THandle;  
function FindNextFile(AHandle:THandle; var AFindData:TWin32FindData):Boolean;  
function FlushFileBuffers(AHandle:THandle):Boolean;  
function GetBinaryType  
function GetFileAttributes(const AFileName:String):LongWord;  
function GetFileInformationByHandle(AHandle:THandle; var AFileInformation:TByHandleFileInformation):Boolean;  
function GetFileSize(AHandle:THandle; var AFileSizeHigh:LongWord):LongWord;  
function GetFileSizeEx Same as FileSizeEx
function GetFileTime Already Defined
function GetFileType  
function GetFullPathName(const AFileName:String):String;  
function GetShortPathName(const ALongPath:String):String;  
function GetTempDrive  
function GetTempFileName  
function GetTempPath  
function LockFile  
function LockFileEx  
function MoveFile(const AExistingName,ANewName:String):Boolean;  
function MoveFileEx  
function ReadFile(AHandle:THandle; var ABuffer; ABytesToRead:LongWord; var ABytesRead:LongWord):Boolean;  
function ReadFileEx  
function SearchPath  
function SetEndOfFile Already Defined
function SetFileApisToANSI:Boolean;  
function SetFileApisToOEM:Boolean;  
function SetFileAttributes(const AFileName:String; AFileAttributes:LongWord):Boolean;  
function SetFilePointer(AHandle:THandle; ADistanceToMove:LongInt; var ADistanceToMoveHigh:LongInt; AMoveMethod:LongWord):LongWord;  
function SetFilePointerEx(AHandle:THandle; const ADistanceToMove:Int64; var ANewFilePointer:Int64; AMoveMethod:LongWord):Boolean;  
function SetFileTime Already Defined
function SetHandleCount  
function UnlockFile  
function UnlockFileEx  
function WriteFile(AHandle:THandle; const ABuffer; ABytesToWrite:LongWord; var ABytesWritten:LongWord):Boolean;  
function WriteFileEx  
function GetLongPathName(const AShortPath:String):String;  
function SetFileShortName Already Defined
 
function CreateDirectory(const APathName:String):Boolean;  
function CreateDirectoryEx  
function GetCurrentDirectory:String;  
function RemoveDirectory(const APathName:String):Boolean;  
function SetCurrentDirectory(const APathName:String):Boolean;  
 
function FindFirstStream Already Defined
function FindNextStream Already Defined
 
function CreateHardlink Already Defined
function FindFirstFileName Already Defined
function FindNextFileName Already Defined
 
function SetVolumeMountPoint  
function DeleteVolumeMountPoint  
function FindFirstVolumeMountPoint  
function FindNextVolumeMountPoint  
function FindVolumeMountPointClose  
 
function CreateSymbolicLink Already Defined
 
function FindFirstVolume Already Defined
function FindNextVolume Already Defined
function FindVolumeClose Already Defined
 
function GetFileSecurity Already Defined
function SetFileSecurity Already Defined
function GetNamedSecurityInfo  
function SetNamedSecurityInfo  
 
function GetDeviceFromRaw(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDevice;  
function GetDeviceFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDevice;  
 
function GetPartitionFromRaw(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskPartition;  
function GetPartitionFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskPartition;  
 
function GetVolumeFromPath(const APath:String; ALock:Boolean; AState:LongWord):TDiskVolume;  
function GetVolumeFromRaw(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;  
function GetVolumeFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;  
function GetVolumeFromFile(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;  
function GetVolumeFromFind(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;  
 
function GetDriveFromPath(const APath:String; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDriveFromRaw(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDriveFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDriveFromFile(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;  
function GetDriveFromFind(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;  
 
function GetImageFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskImage;  
 
function GetCatalogFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskCatalog;  
 
function GetFileSystemFromPath(const APath:String; ALock:Boolean; AState:LongWord):TFileSystem;  
function GetFileSystemFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TFileSystem;  
function GetFileSystemFromFile(AHandle:Integer; ALock:Boolean; AState:LongWord):TFileSystem;  
function GetFileSystemFromFind(AHandle:Integer; ALock:Boolean; AState:LongWord):TFileSystem;  
 
function GetRawFromHandle(AHandle:Integer; ALock:Boolean; AState:LongWord):TRawHandle;  
function GetEnumFromHandle(AHandle:Integer; ALock:Boolean; AState:LongWord):TEnumHandle;  
function GetFileFromHandle(AHandle:Integer; ALock:Boolean; AState:LongWord):TFileHandle;  
function GetFindFromHandle(AHandle:Integer; ALock:Boolean; AState:LongWord):TFindHandle;  


Function declarations



constructor TFileSysDriver.Create;
Description: To be documented
Note None documented


destructor TFileSysDriver.Destroy;
Description: To be documented
Note None documented


function TFileSysDriver.ReaderLock:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ReaderUnlock:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.WriterLock:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.WriterUnlock:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetCurrent:TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.SetCurrent(ACurrent:TDiskDrive):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FindMatchingFile(ADrive:TDiskDrive; AVolume:TDiskVolume; var ASearchRec:TSearchRec):Integer; 
Description: To be documented
Note Caller must hold the drive and volume lock


function TFileSysDriver.OpenCache(ACacheSize,ACacheKeys,APageSize:LongWord; ACacheMode:TCacheMode):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CloseCache:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FlushCache(AAll:Boolean):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DiscardCache(AAll:Boolean):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetCacheStatistics(var AStatistics:TCacheStatistics):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetCatalogByNo(const APath:String; ACatalogNo:LongWord; ALock:Boolean; AState:LongWord):TDiskCatalog;
Description: To be documented
Note None documented


function TFileSysDriver.GetCatalogByName(const APath,AName:String; ALock:Boolean; AState:LongWord):TDiskCatalog;
Description: To be documented
Note None documented


function TFileSysDriver.GetCatalogByNext(const APath:String; APrevious:TDiskCatalog; ALock,AUnlock:Boolean; AState:LongWord):TDiskCatalog;
Description: To be documented
Note None documented


function TFileSysDriver.AddImage(AImage:TDiskImage):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveImage(AImage:TDiskImage):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CheckImage(AImage:TDiskImage; ALock:Boolean; AState:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetImageByNo(AImageNo:Integer; ALock:Boolean; AState:LongWord):TDiskImage;
Description: To be documented
Note ImageNo is one based


function TFileSysDriver.GetImageByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskImage;
Description: To be documented
Note None documented


function TFileSysDriver.GetImageByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TDiskImage;
Description: To be documented
Note None documented


function TFileSysDriver.GetImageByController(AController:TDiskController; ALock:Boolean; AState:LongWord):TDiskImage;
Description: Returns the first Image on the specified Controller
Note None documented


function TFileSysDriver.GetImagesByController(AController:TDiskController; ALock:Boolean; AState:LongWord):TList;
Description: Returns all Images on the specified Controller
Note None documented


function TFileSysDriver.GetImageByNext(APrevious:TDiskImage; ALock,AUnlock:Boolean; AState:LongWord):TDiskImage;
Description: To be documented
Note None documented


function TFileSysDriver.GetNextImageNo:Integer;
Description: To be documented
Note None documented


function TFileSysDriver.GetMaxImageNo:Integer;
Description: To be documented
Note None documented


function TFileSysDriver.AddDrive(ADrive:TDiskDrive):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveDrive(ADrive:TDiskDrive):Boolean;
Description: To be documented
Note When dismounting a Drive without dismounting the volume and filesystem DeleteDrive will have unbound the drive from the filesystem and called DismountFindHandles and DismountFileHandles

Caller must hold the drive writer lock


function TFileSysDriver.CheckDrive(ADrive:TDiskDrive; ALock:Boolean; AState:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetDriveByNo(ADriveNo:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note DriveNo is one based


function TFileSysDriver.GetDriveByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.GetDriveByParent(const AParent:String; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.GetDriveByVolume(AVolume:TDiskVolume; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.GetDriveByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: Returns the first Drive on the specified Device
Note None documented


function TFileSysDriver.GetDrivesByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TList;
Description: Returns all Drives on the specified Device
Note None documented


function TFileSysDriver.GetDriveByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: Returns the first Drive on the specified Partition
Note None documented


function TFileSysDriver.GetDrivesByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TList;
Description: Returns all Drives on the specified Partition
Note None documented


function TFileSysDriver.GetDriveByNext(APrevious:TDiskDrive; ALock,AUnlock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.GetNextDriveNo(AMediaType:TMediaType):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.GetMaxDriveNo(AMediaType:TMediaType):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.AddVolume(AVolume:TDiskVolume):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveVolume(AVolume:TDiskVolume):Boolean;
Description: To be documented
Note Caller must hold the volume writer lock


function TFileSysDriver.CheckVolume(AVolume:TDiskVolume; ALock:Boolean; AState:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeByNo(AVolumeNo:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: To be documented
Note VolumeNo is one based


function TFileSysDriver.GetVolumeByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeByParent(const AParent:String; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: Returns the first Volume on the specified Device
Note None documented


function TFileSysDriver.GetVolumesByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TList;
Description: Returns all Volumes on the specified Device
Note None documented


function TFileSysDriver.GetVolumeByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: Returns the first Volume on the specified Partition
Note None documented


function TFileSysDriver.GetVolumesByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TList;
Description: Returns all Volumes on the specified Partition
Note None documented


function TFileSysDriver.GetVolumeByNext(APrevious:TDiskVolume; ALock,AUnlock:Boolean; AState:LongWord):TDiskVolume;
Description: To be documented
Note None documented


function TFileSysDriver.GetNextVolumeNo:Integer;
Description: To be documented
Note None documented


function TFileSysDriver.GetMaxVolumeNo:Integer;
Description: To be documented
Note None documented


function TFileSysDriver.AddDevice(ADevice:TDiskDevice):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveDevice(ADevice:TDiskDevice):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CheckDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetDeviceByNo(ADeviceNo:Integer; ALock:Boolean; AState:LongWord):TDiskDevice;
Description: To be documented
Note DeviceNo is zero based


function TFileSysDriver.GetDeviceByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskDevice;
Description: To be documented
Note None documented


function TFileSysDriver.GetDeviceByImage(AImage:TDiskImage; ALock:Boolean; AState:LongWord):TDiskDevice;
Description: To be documented
Note None documented


function TFileSysDriver.GetDeviceByStorage(AStorage:PStorageDevice; ALock:Boolean; AState:LongWord):TDiskDevice;
Description: To be documented
Note None documented


function TFileSysDriver.GetDeviceByController(AController:TDiskController; ALock:Boolean; AState:LongWord):TDiskDevice;
Description: Returns the first Device on the specified Controller
Note None documented


function TFileSysDriver.GetDevicesByController(AController:TDiskController; ALock:Boolean; AState:LongWord):TList;
Description: Returns all Devices on the specified Controller
Note None documented


function TFileSysDriver.GetDeviceByIdentifier(AController:TDiskController; const AIdentifier:String; ALock:Boolean; AState:LongWord):TDiskDevice;
Description: Returns the specified Device on the specified Controller
Note None documented


function TFileSysDriver.GetDeviceByNext(APrevious:TDiskDevice; ALock,AUnlock:Boolean; AState:LongWord):TDiskDevice;
Description: To be documented
Note None documented


function TFileSysDriver.GetNextDeviceNo(AMediaType:TMediaType):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.GetMaxDeviceNo(AMediaType:TMediaType):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.AddPartition(APartition:TDiskPartition):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemovePartition(APartition:TDiskPartition):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CheckPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetPartitionByNo(ADevice:TDiskDevice; APartitionNo:Integer; AExtended,ALock:Boolean; AState:LongWord):TDiskPartition;
Description: To be documented
Note PartitionNo is one based


function TFileSysDriver.GetPartitionByName(ADevice:TDiskDevice; const AName:String; ALock:Boolean; AState:LongWord):TDiskPartition;
Description: To be documented
Note None documented


function TFileSysDriver.GetPartitionByPath(const APath:String; ALock:Boolean; AState:LongWord):TDiskPartition;
Description: To be documented
Note None documented


function TFileSysDriver.GetPartitionByEntryNo(ADevice:TDiskDevice; APartition:TDiskPartition; AEntryNo:Integer; ALock:Boolean; AState:LongWord):TDiskPartition;
Description: To be documented
Note None documented


function TFileSysDriver.GetPartitionByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TDiskPartition;
Description: Returns the first Partition on the specified Device
Note None documented


function TFileSysDriver.GetPartitionsByDevice(ADevice:TDiskDevice; ALock:Boolean; AState:LongWord):TList;
Description: Returns all Partitions on the specified Device
Note None documented


function TFileSysDriver.GetPartitionByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskPartition;
Description: Returns the first Partition in the specified Partition
Note None documented


function TFileSysDriver.GetPartitionsByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TList;
Description: Returns all Partitions in the specified Partition
Note None documented


function TFileSysDriver.GetPartitionByNext(APrevious:TDiskPartition; ALock,AUnlock:Boolean; AState:LongWord):TDiskPartition;
Description: To be documented
Note None documented


function TFileSysDriver.GetNextPartitionNo(ADevice:TDiskDevice; AExtended:Boolean):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.GetMaxPartitionNo(ADevice:TDiskDevice; AExtended:Boolean):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.AddController(AController:TDiskController):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveController(AController:TDiskController):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CheckController(AController:TDiskController; ALock:Boolean; AState:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetControllerByNo(AControllerNo:Integer; ALock:Boolean; AState:LongWord):TDiskController;
Description: To be documented
Note ControllerNo is zero based


function TFileSysDriver.GetControllerByName(const AName:String; ALock:Boolean; AState:LongWord):TDiskController;
Description: To be documented
Note None documented


function TFileSysDriver.GetControllerByNext(APrevious:TDiskController; ALock,AUnlock:Boolean; AState:LongWord):TDiskController;
Description: To be documented
Note None documented


function TFileSysDriver.GetNextControllerNo:Integer;
Description: To be documented
Note None documented


function TFileSysDriver.GetMaxControllerNo:Integer;
Description: To be documented
Note None documented


function TFileSysDriver.AddRecognizer(ARecognizer:TRecognizer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveRecognizer(ARecognizer:TRecognizer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CheckRecognizer(ARecognizer:TRecognizer; ALock:Boolean; AState:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetRecognizerByImage(AImage:TDiskImage; ALock:Boolean; AState:LongWord):TRecognizer;
Description: To be documented
Note None documented


function TFileSysDriver.GetRecognizerByVolume(AVolume:TDiskVolume; ALock:Boolean; AState:LongWord):TRecognizer;
Description: To be documented
Note None documented


function TFileSysDriver.GetRecognizerByPartition(APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TRecognizer;
Description: To be documented
Note None documented


function TFileSysDriver.GetRecognizerByPartitionId(APartitionId:Byte; ALock:Boolean; AState:LongWord):TRecognizer;
Description: To be documented
Note None documented


function TFileSysDriver.GetRecognizerByBootSector(ABootSector:PBootSector; const AStartSector,ASectorCount:Int64; ALock:Boolean; AState:LongWord):TRecognizer;
Description: To be documented
Note None documented


function TFileSysDriver.GetRecognizerByNext(APrevious:TRecognizer; ALock,AUnlock:Boolean; AState:LongWord):TRecognizer;
Description: To be documented
Note None documented


function TFileSysDriver.AddRedirector(ARedirector:TRedirector):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveRedirector(ARedirector:TRedirector):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CheckRedirector(ARedirector:TRedirector; ALock:Boolean; AState:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetRedirectorByPath(const APath:String; ALock:Boolean; AState:LongWord):TRedirector;
Description: To be documented
Note None documented


function TFileSysDriver.GetRedirectorByDrive(ADrive:TDiskDrive; ALock:Boolean; AState:LongWord):TRedirector;
Description: To be documented
Note None documented


function TFileSysDriver.GetRedirectorByNext(APrevious:TRedirector; ALock,AUnlock:Boolean; AState:LongWord):TRedirector;
Description: To be documented
Note None documented


function TFileSysDriver.AddFileSystem(AFileSystem:TFileSystem):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveFileSystem(AFileSystem:TFileSystem):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CheckFileSystem(AFileSystem:TFileSystem; ALock:Boolean; AState:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileSystemByDrive(ADrive:TDiskDrive; ALock:Boolean; AState:LongWord):TFileSystem;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileSystemByVolume(AVolume:TDiskVolume; ALock:Boolean; AState:LongWord):TFileSystem;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileSystemByRootName(const AName:String; ALock:Boolean; AState:LongWord):TFileSystem;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileSystemByRootPath(const APath:String; ALock:Boolean; AState:LongWord):TFileSystem;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileSystemByNext(APrevious:TFileSystem; ALock,AUnlock:Boolean; AState:LongWord):TFileSystem;
Description: To be documented
Note None documented


function TFileSysDriver.LocateDevices:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.LocatePartitions:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.LocateVolumes:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.LocateDrives:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.OpenRawHandle(ADevice:TDiskDevice; APartition:TDiskPartition; AVolume:TDiskVolume; ADrive:TDiskDrive; AMode:Integer; ALock:Boolean; AState:LongWord):TRawHandle;
Description: Open a handle for the specified object with the specified mode
Note Check existing handles for compatible Modes

Only one type of object can be specified


function TFileSysDriver.CloseRawHandle(AHandle:TRawHandle):Boolean;
Description: Close an existing handle
Note Caller must hold the handle writer lock


function TFileSysDriver.GetRawHandleByNext(APrevious:TRawHandle; ALock,AUnlock:Boolean; AState:LongWord):TRawHandle;
Description: To be documented
Note None documented


function TFileSysDriver.ReleaseRawHandles(ADevice:TDiskDevice; APartition:TDiskPartition; AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;
Description: Release all existing handles on the specified object (Usually because the object is being removed)
Note Only one type of object can be specified


function TFileSysDriver.OpenEnumHandle(AFileSystem:TFileSystem; ALock:Boolean; AState:LongWord):TEnumHandle;
Description: Open a handle with the details
Note FileSystem does not need to be specified


function TFileSysDriver.CloseEnumHandle(AHandle:TEnumHandle):Boolean;
Description: Close an existing handle
Note Caller must hold the handle writer lock


function TFileSysDriver.GetEnumHandleByNext(APrevious:TEnumHandle; ALock,AUnlock:Boolean; AState:LongWord):TEnumHandle;
Description: To be documented
Note None documented


function TFileSysDriver.UpdateEnumHandles(ADevice:TDiskDevice; APartition:TDiskPartition; ADrive:TDiskDrive; AVolume:TDiskVolume; AImage:TDiskImage; ACatalog:TDiskCatalog):Boolean;
Description: Update enum handles with matching device, partition, drive, volume, image or catalog
Return Returns True if successfully updated or no match found
Note Called by Delete to update open handles


function TFileSysDriver.ReleaseEnumHandles(AFileSystem:TFileSystem):Boolean;
Description: Release all existing handles on the specified filesystem (Usually because the filesystem is being removed)
Note None documented


function TFileSysDriver.OpenFileHandle(AVolume:TDiskVolume; ADrive:TDiskDrive; AParent,AEntry:TDiskEntry; AMode:Integer; ALock:Boolean; AState:LongWord):TFileHandle;
Description: Open a handle for the specified entry with the specified mode
Note Check existing handles for compatible Modes

Both Drive and Volume are allowed


function TFileSysDriver.CloseFileHandle(AHandle:TFileHandle):Boolean;
Description: Close an existing handle
Note Caller must hold the handle writer lock


function TFileSysDriver.GetFileHandleByNext(APrevious:TFileHandle; ALock,AUnlock:Boolean; AState:LongWord):TFileHandle;
Description: To be documented
Note None documented


function TFileSysDriver.CheckFileHandles(AEntry:TDiskEntry):Boolean;
Description: Check file handles for any with matching entry
Return Returns True if no matching handle is found
Note Called by Delete, Rename etc to check for open handles.


function TFileSysDriver.ReleaseFileHandles(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;
Description: Release all existing handles on the specified object (Usually because the object is being removed)
Note Both Drive and Volume can be specified


function TFileSysDriver.DismountFileHandles(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;
Description: Update or Release all existing handles on the specified object (Usually because the object is being dismounted and removed)
Note Both Drive and Volume can be specified but nothing currently passes Volume


function TFileSysDriver.OpenFindHandle(AVolume:TDiskVolume; ADrive:TDiskDrive; AParent:TDiskEntry; const AMask:String; AAttr,AFlags:LongWord; ALock:Boolean; AState:LongWord):TFindHandle;
Description: Open a handle with the specified parent and mask
Note Both Drive and Volume can be specified


function TFileSysDriver.CloseFindHandle(AHandle:TFindHandle):Boolean;
Description: Close an existing handle
Note Caller must hold the handle writer lock


function TFileSysDriver.GetFindHandleByNext(APrevious:TFindHandle; ALock,AUnlock:Boolean; AState:LongWord):TFindHandle;
Description: To be documented
Note None documented


function TFileSysDriver.UpdateFindHandles(AEntry:TDiskEntry):Boolean;
Description: Update find handles with matching entry
Return Returns True if successfully updated or no match found
Note Called by Delete, Rename (Move) etc to update open handles.


function TFileSysDriver.ReleaseFindHandles(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;
Description: Release all existing handles on the specified object (Usually because the object is being removed)
Note Both Drive and Volume can be specified


function TFileSysDriver.DismountFindHandles(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;
Description: Update or Release all existing handles on the specified object (Usually because the object is being dismounted and removed)
Note Both Drive and Volume can be specified but nothing currently passes Volume


function TFileSysDriver.LockMedia(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.UnlockMedia(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.EjectMedia(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.MediaReady(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.MediaChanged(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.MediaLocked(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.InsertDevice(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.EjectDevice(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.OpenDevice(const AName:String; AMode:Integer):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.CloseDevice(AHandle:Integer);
Description: To be documented
Note None documented


function TFileSysDriver.ReadDevice(AHandle:Integer; var ABuffer; ACount:Integer):Integer;
Description: To be documented
Note Raw Reads must be in Sector sized multiples


function TFileSysDriver.WriteDevice(AHandle:Integer; const ABuffer; ACount:Integer):Integer;
Description: To be documented
Note Raw Writes must be in Sector sized multiples


function TFileSysDriver.EraseDevice(AHandle:Integer; ACount:Integer):Integer;
Description: To be documented
Note Raw Erases must be in Sector sized multiples


function TFileSysDriver.SeekDevice(AHandle:Integer; const AOffset:Int64; AOrigin:Integer):Int64;
Description: To be documented
Note Raw Seeks must be in Sector sized multiples

Raw Seeks cannot extend the size of the Device


function TFileSysDriver.FindFirstDevice(var ASearchRec:TDiskSearchRec; AVerbose:Boolean):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextDevice(var ASearchRec:TDiskSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindDeviceClose(var ASearchRec:TDiskSearchRec);
Description: Close an open find Handle
Note None documented


function TFileSysDriver.CreatePartition(const ADevice,AParent:String; APartitionId:Byte; ACount:LongWord; AActive:Boolean):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DeletePartition(const APath:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ModifyPartition(const APath:String; APartitionId:Byte):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ActivatePartition(const APath:String; AActive:Boolean):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ShrinkPartition(const APath:String; const AStart,ASize:Int64):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ExpandPartition(const APath:String; const AStart,ASize:Int64):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.OpenPartition(const APath:String; AMode:Integer):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.ClosePartition(AHandle:Integer);
Description: To be documented
Note None documented


function TFileSysDriver.ReadPartition(AHandle:Integer; var ABuffer; ACount:Integer):Integer;
Description: To be documented
Note Raw Reads must be in Sector sized multiples


function TFileSysDriver.WritePartition(AHandle:Integer; const ABuffer; ACount:Integer):Integer;
Description: To be documented
Note Raw Writes must be in Sector sized multiples


function TFileSysDriver.SeekPartition(AHandle:Integer; const AOffset:Int64; AOrigin:Integer):Int64;
Description: To be documented
Note Raw Seeks must be in Sector sized multiples

Raw Seeks cannot extend the size of the Partition


function TFileSysDriver.FindFirstPartition(const ADevice:String; var ASearchRec:TPartitionSearchRec; AVerbose:Boolean):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextPartition(var ASearchRec:TPartitionSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindPartitionClose(var ASearchRec:TPartitionSearchRec);
Description: Close an open find Handle
Note None documented


function TFileSysDriver.CreateVolume(const AParent:String; ADriveNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteVolume(Const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.MountVolume(const AName:String; ADriveNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DismountVolume(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FormatVolume(const AName:String; AFloppyType:TFloppyType; AFileSysType:TFileSysType):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DefragmentVolume(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ConvertVolume(const AName:String; AFileSysType:TFileSysType):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RepairVolume(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CopyVolume(const AName,ADest:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ShrinkVolume(const AName:String; const AStart,ASize:Int64):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ExpandVolume(const AName:String; const AStart,ASize:Int64):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.OpenVolume(const AName:String; AMode:Integer):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.CloseVolume(AHandle:Integer);
Description: To be documented
Note None documented


function TFileSysDriver.ReadVolume(AHandle:Integer; var ABuffer; ACount:Integer):Integer;
Description: To be documented
Note Raw Reads must be in Sector sized multiples


function TFileSysDriver.WriteVolume(AHandle:Integer; const ABuffer; ACount:Integer):Integer;
Description: To be documented
Note Raw Writes must be in Sector sized multiples


function TFileSysDriver.SeekVolume(AHandle:Integer; const AOffset:Int64; AOrigin:Integer):Int64;
Description: To be documented
Note Raw Seeks must be in Sector sized multiples

Raw Seeks cannot extend the size of the Volume


function TFileSysDriver.FindFirstVolume(var ASearchRec:TVolumeSearchRec; AVerbose:Boolean):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextVolume(var ASearchRec:TVolumeSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindVolumeClose(var ASearchRec:TVolumeSearchRec);
Description: Close an open find Handle
Note None documented


function TFileSysDriver.CreateDrive(const AName,AParent:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteDrive(const AName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FormatDrive(const AName:String; AFloppyType:TFloppyType; AFileSysType:TFileSysType):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.OpenDrive(const AName:String; AMode:Integer):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.CloseDrive(AHandle:Integer);
Description: To be documented
Note None documented


function TFileSysDriver.ReadDrive(AHandle:Integer; var ABuffer; ACount:Integer):Integer;
Description: To be documented
Note Raw Reads must be in Sector sized multiples


function TFileSysDriver.WriteDrive(AHandle:Integer; const ABuffer; ACount:Integer):Integer;
Description: To be documented
Note Raw Writes must be in Sector sized multiples


function TFileSysDriver.SeekDrive(AHandle:Integer; const AOffset:Int64; AOrigin:Integer):Int64;
Description: To be documented
Note Raw Seeks must be in Sector sized multiples

Raw Seeks cannot extend the size of the Drive


function TFileSysDriver.FindFirstDrive(var ASearchRec:TDriveSearchRec; AVerbose:Boolean):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextDrive(var ASearchRec:TDriveSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindDriveClose(var ASearchRec:TDriveSearchRec);
Description: Close an open find Handle
Note None documented


function TFileSysDriver.MountImage(AImageNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DismountImage(AImageNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.InsertImage(AImageNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.EjectImage(AImageNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ConvertImage(AImageNo:Integer; AImageType:TImageType):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CopyImage(AImageNo,ADestNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ShrinkImage(AImageNo:Integer; const ASize:Int64):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ExpandImage(AImageNo:Integer; const ASize:Int64):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CreateImage(AImageNo:Integer; const AName:String; AImageType:TImageType; AMediaType:TMediaType; AFloppyType:TFloppyType; AAttributes:LongWord; ASectorSize:Word; const ASectorCount:Int64; ACylinders,AHeads,ASectors:LongWord; APartitionId:Byte):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.OpenImage(AImageNo:Integer; const AName:String; AImageType:TImageType; AMediaType:TMediaType; AFloppyType:TFloppyType; AAttributes:LongWord; ASectorSize:Word; const ASectorCount:Int64; ACylinders,AHeads,ASectors:LongWord; APartitionId:Byte):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.CloseImage(AImageNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CreateSnapshot(AImageNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteSnapshot(AImageNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.MergeSnapshot(AImageNo:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FindFirstImage(var ASearchRec:TImageSearchRec; AVerbose:Boolean):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextImage(var ASearchRec:TImageSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindImageClose(var ASearchRec:TImageSearchRec);
Description: Close an open find Handle
Note None documented


function TFileSysDriver.CreateCatalog(const APath,AName:String; AMediaType:TMediaType; AFloppyType:TFloppyType; AAttributes:LongWord; ASectorSize:Word; const ASectorCount:Int64):LongWord;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteCatalog(const APath:String; ACatalogNo:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FindFirstCatalog(const APath:String; var ASearchRec:TCatalogSearchRec):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextCatalog(var ASearchRec:TCatalogSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindCatalogClose(var ASearchRec:TCatalogSearchRec);
Description: To be documented
Note None documented


function TFileSysDriver.CheckTimer:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ProcessTimer:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ScheduleEntry(AEntry:TDiskEntry; ATimeout:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.UnscheduleEntry(AEntry:TDiskEntry):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetPathDrive(const APath:String):Byte;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveType(ADrive:Byte):TDriveType;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveData(ADrive:Byte):TDriveData;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveAttr(ADrive:Byte):LongWord;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveLabel(ADrive:Byte):String;
Description: To be documented
Note No Volume Support


function TFileSysDriver.SetDriveLabel(ADrive:Byte; const ALabel:String):Boolean;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveSerial(ADrive:Byte):LongWord;
Description: To be documented
Note No Volume Support


function TFileSysDriver.SetDriveSerial(ADrive:Byte; ASerial:LongWord):Boolean;
Description: To be documented
Note No Volume Support


function TFileSysDriver.IsDriveValid(ADrive:Byte):Boolean;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetValidDrives:LongWord;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetValidDriveNames:TStringList;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetValidDriveStrings:String;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveFreeSpace(ADrive:Byte):LongWord;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveFreeSpaceEx(ADrive:Byte):Int64;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveTotalSpace(ADrive:Byte):LongWord;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveTotalSpaceEx(ADrive:Byte):Int64;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetDriveInformation(const APath:String; var AClusterSize:LongWord; var ATotalClusterCount,AFreeClusterCount:Int64):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetCurrentDrive:Byte;
Description: To be documented
Note No Volume Support


function TFileSysDriver.SetCurrentDrive(const ADrive:String):Boolean;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetPathVolume(const APath:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeType(const AVolume:String):TDriveType;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeData(const AVolume:String):TDriveData;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeAttr(const AVolume:String):LongWord;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeLabel(const AVolume:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.SetVolumeLabel(const AVolume:String; const ALabel:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeSerial(const AVolume:String):LongWord;
Description: To be documented
Note None documented


function TFileSysDriver.SetVolumeSerial(const AVolume:String; ASerial:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.IsVolumeValid(const AVolume:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetValidVolumeNames:TStringList;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeFreeSpace(const AVolume:String):LongWord;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeFreeSpaceEx(const AVolume:String):Int64;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeTotalSpace(const AVolume:String):LongWord;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeTotalSpaceEx(const AVolume:String):Int64;
Description: To be documented
Note None documented


function TFileSysDriver.FileOpen(const AFileName:String; AMode:Integer):THandle;
Description: To be documented
Note None documented


function TFileSysDriver.FileCreate(const AFileName:String; AMode:Integer = fmOpenReadWrite or fmShareExclusive):THandle;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteFile(const AFileName:String):Boolean;
Description: To be documented
Note None documented


procedure TFileSysDriver.FileClose(AHandle:Integer);
Description: To be documented
Note None documented


function TFileSysDriver.RenameFile(const AOldName,ANewName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FileSeek(AHandle:THandle; AOffset,AOrigin:LongInt):LongInt;
Description: To be documented
Note None documented


function TFileSysDriver.FileFlush(AHandle:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FileTruncate(AHandle:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SetEndOfFile(AHandle:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.EndOfFile(AHandle:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FilePos(AHandle:THandle):LongInt;
Description: To be documented
Note None documented


function TFileSysDriver.FileSize(AHandle:THandle):LongInt;
Description: To be documented
Note None documented


function TFileSysDriver.FileAge(const AFileName:String):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FileExists(const AFileName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FileGetAttr(const AFileName:String):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FileGetDate(AHandle:Integer):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FileSetAttr(const AFileName:String; AAttr:Integer):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FileSetDate(AHandle:Integer; AAge:Integer):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FileRead(AHandle:THandle; var ABuffer; ACount:LongInt):LongInt;
Description: To be documented
Note None documented


function TFileSysDriver.FileWrite(AHandle:THandle; const ABuffer; ACount:LongInt):LongInt;
Description: To be documented
Note None documented


function TFileSysDriver.CreateDir(const ADirName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveDir(const ADirName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.RenameDir(const AOldName,ANewName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetCurrentDir:String;
Description: To be documented
Note No Volume Support


function TFileSysDriver.GetCurrentDirEx(ADrive:Byte):String;
Description: To be documented
Note No Volume Support


function TFileSysDriver.SetCurrentDir(const ADirName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SetCurrentDirEx(ADrive:Byte; const ADirName:String):Boolean;
Description: Set the current directory on the specified drive
Note Does not update the current drive and No Volume Support


function TFileSysDriver.DirectoryExists(const ADirName:String):Boolean;
Description: To be documented
Note None documented


procedure TFileSysDriver.ForceDirectories(ADirName:String);
Description: To be documented
Note None documented


procedure TFileSysDriver.DeleteTree(const ADirName:String);
Description: To be documented
Note None documented


function TFileSysDriver.FindMatchingFile(ADrive:TDiskDrive; AVolume:TDiskVolume; var ASearchRec:TSearchRec):Integer;
Description: Internal Only
Note Caller must hold the drive and volume lock


function TFileSysDriver.FindFirst(const APath:String; AAttr:Integer; var ASearchRec:TSearchRec):Integer;
Description: To be documented
Note FindFirst/FindNext/FindClose - To be compatible with the DOS FindFirst/FindNext we always allow faReadOnly and faArchive but only allow other attributes if requested. This is done by matching all

files and filtering with FindMatchingFile.


function TFileSysDriver.FindNext(var ASearchRec:TSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindClose(var ASearchRec:TSearchRec);
Description: To be documented
Note None documented


function TFileSysDriver.FindFirstStream(const AFileName:String; var ASearchRec:TStreamSearchRec):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextStream(var ASearchRec:TStreamSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindStreamClose(var ASearchRec:TStreamSearchRec);
Description: To be documented
Note None documented


function TFileSysDriver.FindFirstFileName(const AFileName:String; var ASearchRec:TLinkSearchRec):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextFileName(var ASearchRec:TLinkSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindFileNameClose(var ASearchRec:TLinkSearchRec);
Description: To be documented
Note None documented


function TFileSysDriver.CreateHardLink(const ALinkName,AFileName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteHardLink(const ALinkName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.MountPointExists(const APathName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CreateMountPoint(const APathName,AVolumeName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteMountPoint(const APathName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.JunctionPointExists(const APathName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CreateJunctionPoint(const APathName,AFolderName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteJunctionPoint(const APathName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SymbolicLinkExists(const ALinkName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CreateSymbolicLink(const ALinkName,ATargetName:String; ADirectory:Boolean):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CreateSymbolicLinkEx(const ALinkName,AShortName,ATargetName:String; ADirectory:Boolean):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteSymbolicLink(const ALinkName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetMountPointTarget(const APathName:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.GetJunctionPointTarget(const APathName:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.GetSymbolicLinkTarget(const ALinkName:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.SetFileShortName(const AFileName,AShortName:String):Boolean;
Description: To be documented
Note ShortName must not include drive or path (Name only)


function TFileSysDriver.SetFileShortNameEx(AHandle:Integer; const AShortName:String):Boolean;
Description: To be documented
Note ShortName must not include drive or path (Name only)


function TFileSysDriver.GetFileSecurity(const AFileName:String; ADescriptor:Pointer; var ASize:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SetFileSecurity(const AFileName:String; ADescriptor:Pointer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FileCopy(const ASourceFile,ADestFile:String; AFailIfExists:Boolean):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FileCopyEx(const ASourceFile,ADestFile:String; AFailIfExists:Boolean; AUseSourceDate:Boolean; ADestDate:Integer; AUseSourceAttr:Boolean; ADestAttr:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FileMove(const ASourceFile,ADestFile:String; AFailIfExists:Boolean):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FileMoveEx(const ASourceFile,ADestFile:String; AFailIfExists:Boolean; AUseSourceDate:Boolean; ADestDate:Integer; AUseSourceAttr:Boolean; ADestAttr:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetPathName(const AFileName:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.GetShortName(const AFileName:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.GetLongName(const AFileName:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.GetTrueName(const AFileName:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.AddSlash(const AFilePath:String; ALeading,ATrailing:Boolean):String;
Description: To be documented
Note None documented


function TFileSysDriver.DeleteSlash(const AFilePath:String; ALeading,ATrailing:Boolean):String;
Description: To be documented
Note None documented


function TFileSysDriver.FileCreateEx(const AFileName,AShortName:String; AMode:Integer = fmOpenReadWrite or fmShareExclusive):THandle;
Description: To be documented
Note ShortName must not include drive or path (Name only)


function TFileSysDriver.CreateDirEx(const ADirName,AShortName:String):Boolean;
Description: To be documented
Note ShortName must not include drive or path (Name only)


function TFileSysDriver.FileSeekEx(AHandle:THandle; const AOffset:Int64; AOrigin:LongInt):Int64;
Description: To be documented
Note None documented


function TFileSysDriver.EndOfFileEx(AHandle:Integer):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FilePosEx(AHandle:THandle):Int64;
Description: To be documented
Note None documented


function TFileSysDriver.FileSizeEx(AHandle:THandle):Int64;
Description: To be documented
Note None documented


function TFileSysDriver.FileAgeEx(const AFileName:String):TFileTime;
Description: To be documented
Note None documented


function TFileSysDriver.FileGetAttrEx(AHandle:Integer):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FileGetDateEx(AHandle:Integer):TFileTime;
Description: To be documented
Note None documented


function TFileSysDriver.FileSetDateEx(AHandle:Integer; AAge:TFileTime):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileTime(AHandle:Integer; ACreateTime,AAccessTime,AWriteTime:PFileTime):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SetFileTime(AHandle:Integer; ACreateTime,AAccessTime,AWriteTime:PFileTime):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FindFirstEx(const APath:String; var ASearchRec:TFileSearchRec):Integer;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextEx(var ASearchRec:TFileSearchRec):Integer;
Description: To be documented
Note None documented


procedure TFileSysDriver.FindCloseEx(var ASearchRec:TFileSearchRec);
Description: To be documented
Note None documented


function TFileSysDriver.DefineDosDevice(const ADeviceName,ATargetPath:String; AFlags:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetDiskType(const ARootPath:String):LongWord;
Description: To be documented
Note Equivalent to Win32 GetDriveType


function TFileSysDriver.GetDiskFreeSpace(const ARootPath:String; var ASectorsPerCluster,ABytesPerSector,ANumberOfFreeClusters,ATotalNumberOfClusters:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetDiskFreeSpaceEx(const APathName:String; var AFreeBytesAvailableToCaller,ATotalNumberOfBytes,ATotalNumberOfFreeBytes:QWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetLogicalDrives:LongWord;
Description: To be documented
Note None documented


function TFileSysDriver.GetLogicalDriveStrings:String;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeInformation(const ARootPath:String; var AVolumeName:String; var AVolumeSerialNumber,AMaximumComponentLength,AFileSystemFlags:LongWord; var ASystemName:String):Boolean; 
Description: To be documented
Note None documented


function TFileSysDriver.QueryDosDevice(const ARootPath:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.AreFileApisANSI:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CloseFile(AHandle:THandle):Boolean;
Description: To be documented
Note Equivalent to Win32 CloseHandle


function TFileSysDriver.CopyFile(const AExistingName,ANewName:String; AFailIfExists:Boolean):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.CreateFile(const AFileName:String; AAccessMode,AShareMode,ACreateFlags,AFileAttributes:LongWord):THandle;
Description: To be documented
Note None documented


function TFileSysDriver.FindCloseFile(AHandle:THandle):Boolean;
Description: To be documented
Note Equivalent to Win32 FindClose


function TFileSysDriver.FindFirstFile(const AFileName:String; var AFindData:TWin32FindData):THandle;
Description: To be documented
Note None documented


function TFileSysDriver.FindNextFile(AHandle:THandle; var AFindData:TWin32FindData):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.FlushFileBuffers(AHandle:THandle):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileAttributes(const AFileName:String):LongWord;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileInformationByHandle(AHandle:THandle; var AFileInformation:TByHandleFileInformation):Boolean;
Description: Get the details of an existing entry with an open Handle
Note Returned times are UTC


function TFileSysDriver.GetFileSize(AHandle:THandle; var AFileSizeHigh:LongWord):LongWord;
Description: To be documented
Note None documented


function TFileSysDriver.GetFullPathName(const AFileName:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.GetShortPathName(const ALongPath:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.MoveFile(const AExistingName,ANewName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.ReadFile(AHandle:THandle; var ABuffer; ABytesToRead:LongWord; var ABytesRead:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SetFileApisToANSI:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SetFileApisToOEM:Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SetFileAttributes(const AFileName:String; AFileAttributes:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SetFilePointer(AHandle:THandle; ADistanceToMove:LongInt; var ADistanceToMoveHigh:LongInt; AMoveMethod:LongWord):LongWord;
Description: To be documented
Note None documented


function TFileSysDriver.SetFilePointerEx(AHandle:THandle; const ADistanceToMove:Int64; var ANewFilePointer:Int64; AMoveMethod:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.WriteFile(AHandle:THandle; const ABuffer; ABytesToWrite:LongWord; var ABytesWritten:LongWord):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetLongPathName(const AShortPath:String):String;
Description: To be documented
Note None documented


function TFileSysDriver.CreateDirectory(const APathName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetCurrentDirectory:String;
Description: To be documented
Note None documented


function TFileSysDriver.RemoveDirectory(const APathName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.SetCurrentDirectory(const APathName:String):Boolean;
Description: To be documented
Note None documented


function TFileSysDriver.GetDeviceFromRaw(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDevice;
Description: To be documented
Note None documented


function TFileSysDriver.GetDeviceFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDevice;
Description: To be documented
Note None documented


function TFileSysDriver.GetPartitionFromRaw(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskPartition;
Description: To be documented
Note None documented


function TFileSysDriver.GetPartitionFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskPartition;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeFromPath(const APath:String; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeFromRaw(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeFromFile(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: To be documented
Note None documented


function TFileSysDriver.GetVolumeFromFind(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskVolume;
Description: To be documented
Note None documented


function TFileSysDriver.GetDriveFromPath(const APath:String; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.GetDriveFromRaw(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.GetDriveFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.GetDriveFromFile(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.GetDriveFromFind(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskDrive;
Description: To be documented
Note None documented


function TFileSysDriver.GetImageFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskImage;
Description: To be documented
Note None documented


function TFileSysDriver.GetCatalogFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TDiskCatalog;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileSystemFromPath(const APath:String; ALock:Boolean; AState:LongWord):TFileSystem;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileSystemFromEnum(AHandle:Integer; ALock:Boolean; AState:LongWord):TFileSystem;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileSystemFromFile(AHandle:Integer; ALock:Boolean; AState:LongWord):TFileSystem;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileSystemFromFind(AHandle:Integer; ALock:Boolean; AState:LongWord):TFileSystem;
Description: To be documented
Note None documented


function TFileSysDriver.GetRawFromHandle(AHandle:Integer; ALock:Boolean; AState:LongWord):TRawHandle;
Description: To be documented
Note None documented


function TFileSysDriver.GetEnumFromHandle(AHandle:Integer; ALock:Boolean; AState:LongWord):TEnumHandle;
Description: To be documented
Note None documented


function TFileSysDriver.GetFileFromHandle(AHandle:Integer; ALock:Boolean; AState:LongWord):TFileHandle;
Description: To be documented
Note None documented


function TFileSysDriver.GetFindFromHandle(AHandle:Integer; ALock:Boolean; AState:LongWord):TFindHandle;
Description: To be documented
Note None documented


Return to Unit Reference