TDiskDrive

From Ultibo.org
Jump to: navigation, search

Return to Unit Filesystem


Description


To be documented

Class definitions



TDiskDrive = class(TListObject)

constructor Create(ADriver:TFileSysDriver; AVolume:TDiskVolume; ADriveNo:Integer);  
destructor Destroy; override;  
private
FLock:TSynchronizerHandle;  
FLocalLock:TMutexHandle;  
protected
FDriver:TFileSysDriver;  
FVolume:TDiskVolume;  
 
FDriveNo:Integer;  
 
FDriveType:TDriveType;  
 
FFileSystem:TFileSystem;  
 
FRemovable:Boolean; Drive is removable - Set by DriveInit
FRecognizable:Boolean; Drive allows Recognize Drive
FRecognized:Boolean; Recognized Drive - Set by Recognizer
 
FSectorSize:Word; Sector Size of Drive or Device
FStartSector:Int64; Start Sector on Drive or Device
FSectorCount:LongWord; Total Sectors in Drive
FSectorShiftCount:Word; Sectors to Bytes Shift Count
 
function AcquireLock:Boolean;  
function ReleaseLock:Boolean;  
 
function GetName:String;  
function GetRoot:String;  
function GetParent:String;  
 
function GetMaxFile:Integer;  
function GetMaxPath:Integer;  
function GetAttributes:LongWord;  
function GetSystemName:String;  
function GetVolumeName:String;  
function GetVolumeGUID:String;  
function GetVolumeSerial:LongWord;  
 
function GetDriveType:TDriveType;  
function GetFileSysType:TFileSysType;  
 
procedure SetFileSystem(AFileSystem:TFileSystem);  
 
function GetRemovable:Boolean;  
function GetRecognizable:Boolean;  
function GetRecognized:Boolean;  
 
function GetSectorSize:Word;  
function GetStartSector:Int64;  
function GetSectorCount:LongWord;  
function GetSectorShiftCount:Word;  
 
function GetDevice:TDiskDevice;  
function GetPartition:TDiskPartition;  
 
function GetBootRecord(ARecord:Pointer,ASector:LongWord):Boolean; virtual;  
function SetBootRecord(ARecord:Pointer,ASector:LongWord):Boolean; virtual;  
public
property Name:String read GetName;  
property Root:String read GetRoot;  
property Parent:String read GetParent;  
property Volume:TDiskVolume read FVolume;  
property DriveNo:Integer read FDriveNo;  
 
property MaxFile:Integer read GetMaxFile;  
property MaxPath:Integer read GetMaxPath;  
property Attributes:LongWord read GetAttributes;  
property SystemName:String read GetSystemName;  
property VolumeName:String read GetVolumeName;  
property VolumeGUID:String read GetVolumeGUID;  
property VolumeSerial:LongWord read GetVolumeSerial;  
 
property DriveType:TDriveType read GetDriveType;  
property FileSysType:TFileSysType read GetFileSysType;  
 
property FileSystem:TFileSystem read FFileSystem write SetFileSystem;  
 
property Removable:Boolean read GetRemovable;  
property Recognizable:Boolean read GetRecognizable;  
property Recognized:Boolean read GetRecognized write FRecognized;  
 
property SectorSize:Word read GetSectorSize;  
property StartSector:Int64 read GetStartSector;  
property SectorCount:LongWord read GetSectorCount;  
property SectorShiftCount:Word read GetSectorShiftCount;  
   
property Device:TDiskDevice read GetDevice;  
property Partition:TDiskPartition read GetPartition;  
 
function ReaderLock:Boolean;  
function ReaderUnlock:Boolean;  
function WriterLock:Boolean;  
function WriterUnlock:Boolean;  
 
function DriveInit:Boolean; virtual;  


Function declarations



constructor TDiskDrive.Create(ADriver:TFileSysDriver; AVolume:TDiskVolume; ADriveNo:Integer);
Description: To be documented
Note None documented


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


function TDiskDrive.AcquireLock:Boolean;
Description: To be documented
Note None documented


function TDiskDrive.ReleaseLock:Boolean;
Description: To be documented
Note None documented


function TDiskDrive.GetName:String;
Description: To be documented
Note None documented


function TDiskDrive.GetRoot:String;
Description: To be documented
Note None documented


function TDiskDrive.GetParent:String;
Description: To be documented
Note None documented


function TDiskDrive.GetMaxFile:Integer;
Description: Get MaxFile from FileSystem if Mounted
Note None documented


function TDiskDrive.GetMaxPath:Integer;
Description: Get MaxPath from FileSystem if Mounted
Note None documented


function TDiskDrive.GetAttributes:LongWord;
Description: Get Attributes from FileSystem if Mounted
Note None documented


function TDiskDrive.GetSystemName:String;
Description: Get SystemName from FileSystem if Mounted
Note None documented


function TDiskDrive.GetVolumeName:String;
Description: Get VolumeName from FileSystem if Mounted
Note None documented


function TDiskDrive.GetVolumeGUID:String;
Description: Get VolumeGUID from FileSystem if Mounted
Note None documented


function TDiskDrive.GetVolumeSerial:LongWord;
Description: Get VolumeSerial from FileSystem if Mounted
Note None documented


function TDiskDrive.GetDriveType:TDriveType;
Description: Get DriveType from Volume or Drive
Note None documented


function TDiskDrive.GetFileSysType:TFileSysType;
Description: Get FileSysType from FileSystem if Mounted
Note None documented


procedure TDiskDrive.SetFileSystem(AFileSystem:TFileSystem);
Description: Set the FileSystem and Reinitialize the Drive
Note None documented


function TDiskDrive.GetRemovable:Boolean;
Description: Get the Removable flag from Volume or Drive
Note None documented


function TDiskDrive.GetRecognizable:Boolean;
Description: Get the Recognizable flag from Volume or Drive
Note None documented


function TDiskDrive.GetRecognized:Boolean;
Description: Get the Recognized flag from Volume or Drive
Note None documented


function TDiskDrive.GetSectorSize:Word;
Description: Get SectorSize from FileSystem (Mounted) or Volume/Drive (Not Mounted)
Note None documented


function TDiskDrive.GetStartSector:Int64;
Description: Get StartSector from FileSystem (Mounted) or Volume/Drive (Not Mounted)
Note None documented


function TDiskDrive.GetSectorCount:LongWord;
Description: Get SectorCount from FileSystem (Mounted) or Volume/Drive (Not Mounted)
Note None documented


function TDiskDrive.GetSectorShiftCount:Word;
Description: To be documented
Note None documented


function TDiskDrive.GetDevice:TDiskDevice;
Description: To be documented
Note None documented


function TDiskDrive.GetPartition:TDiskPartition;
Description: To be documented
Note None documented


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


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


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


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


function TDiskDrive.DriveInit:Boolean;
Description: To be documented
Note None documented


Return to Unit Reference