TVirtualDiskVboxImage

From Ultibo.org
Jump to: navigation, search

Return to Unit VirtualDisk


Description


To be documented

Class definitions



TVirtualDiskVboxImage = class(TVirtualDiskImage)

constructor Create(ADriver:TFileSysDriver; AController:TDiskController; const AName:String; AImageNo:Integer);  
destructor Destroy; override;  
private
function GetAttributes:LongWord;  
protected
function GetReady:Boolean; override;  
 
function GetCylinders:LongWord; override;  
function GetHeads:LongWord; override;  
function GetSectors:LongWord; override;  
 
function GetSectorSize:Word; override;  
function GetSectorCount:Int64; override;  
 
function ReadExtent(AExtent:TVirtualDiskExtent; ASector:LongWord; ACount:Word; var ABuffer):Word; override;  
function WriteExtent(AExtent:TVirtualDiskExtent; ASector:LongWord; ACount:Word; const ABuffer):Word; override;  
 
function LoadExtents:Boolean; override;  
 
function CheckExtent(ADelta,AParent:TVirtualDiskExtent; const AFilename:String):Boolean; override;  
function LoadExtent(ADelta,AParent:TVirtualDiskExtent; const AFilename:String):TVirtualDiskExtent; override;  
 
function AddExtent(AParent:TVirtualDiskExtent; const AFilename:String):TVirtualDiskExtent; override;  
 
function SetExtent(AExtent:TVirtualDiskExtent):Boolean; override;  
function GetExtent(const ASector:Int64; AWrite,ALock:Boolean):TVirtualDiskExtent; override;  
 
function LoadTables:Boolean; override;  
 
function LoadTable(AExtent:TVirtualDiskExtent; ATableNo:LongWord):TVirtualDiskTable; override;  
 
function AddTable(AExtent:TVirtualDiskExtent):TVirtualDiskTable; override;  
 
function SetTable(ATable:TVirtualDiskTable):Boolean; override;  
 
function LocateDelta(AExtent:TVirtualDiskExtent):String; override;  
function LocateParent(AExtent:TVirtualDiskExtent):String; override;  
public
function ImageInit:Boolean; override;  
 
function Read(ASector:LongWord; ACount:Word; var ABuffer):Boolean; override;  
function Write(ASector:LongWord; ACount:Word; const ABuffer):Boolean; override;  
function Allocated(ASector:LongWord; ACount:Word):Word; override;  
 
function CreateImage(AMediaType:TMediaType; AFloppyType:TFloppyType; AAttributes:LongWord; ASectorSize:Word; const ASectorCount:Int64; ACylinders,AHeads,ASectors:LongWord; APartitionId:Byte):Integer; override;  
function OpenImage(AMediaType:TMediaType; AFloppyType:TFloppyType; AAttributes:LongWord; ASectorSize:Word; const ASectorCount:Int64; ACylinders,AHeads,ASectors:LongWord; APartitionId:Byte):Integer; override;  
function CloseImage:Boolean; override;  
function ResizeImage(const ASectorCount:Int64):Boolean; override;  
 
function CreateSnapshot:Boolean; override;  
function DeleteSnapshot:Boolean; override;  
function MergeSnapshot:Boolean; override;  


Function declarations



constructor TVirtualDiskVboxImage.Create(ADriver:TFileSysDriver; AController:TDiskController; const AName:String; AImageNo:Integer);
Description: To be documented
Note None documented


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


function TVirtualDiskVboxImage.GetAttributes:LongWord;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.GetReady:Boolean;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.GetCylinders:LongWord;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.GetHeads:LongWord;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.GetSectors:LongWord;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.GetSectorSize:Word;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.GetSectorCount:Int64;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.ReadExtent(AExtent:TVirtualDiskExtent; ASector:LongWord; ACount:Word; var ABuffer):Word;
Description: To be documented
Note Caller must hold the extent lock


function TVirtualDiskVboxImage.WriteExtent(AExtent:TVirtualDiskExtent; ASector:LongWord; ACount:Word; const ABuffer):Word;
Description: To be documented
Note Caller must hold the extent lock


function TVirtualDiskVboxImage.LoadExtents:Boolean;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.CheckExtent(ADelta,AParent:TVirtualDiskExtent; const AFilename:String):Boolean;
Description: Check that the passed file is a valid VirtualBox extent
Note If delta is provided, check that passed file is the parent of the delta.

If parent is provided, check that passed file is the delta of the parent.
Caller must hold the delta and parent locks


function TVirtualDiskVboxImage.LoadExtent(ADelta,AParent:TVirtualDiskExtent; const AFilename:String):TVirtualDiskExtent;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.AddExtent(AParent:TVirtualDiskExtent; const AFilename:String):TVirtualDiskExtent;
Description: To be documented
Note Caller must hold the parent lock


function TVirtualDiskVboxImage.SetExtent(AExtent:TVirtualDiskExtent):Boolean;
Description: To be documented
Note Caller must hold the extent lock


function TVirtualDiskVboxImage.GetExtent(const ASector:Int64; AWrite,ALock:Boolean):TVirtualDiskExtent;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.LoadTables:Boolean;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.LoadTable(AExtent:TVirtualDiskExtent; ATableNo:LongWord):TVirtualDiskTable;
Description: To be documented
Note Caller must hold the extent tables writer lock


function TVirtualDiskVboxImage.AddTable(AExtent:TVirtualDiskExtent):TVirtualDiskTable;
Description: To be documented
Note Caller must hold the extent lock


function TVirtualDiskVboxImage.SetTable(ATable:TVirtualDiskTable):Boolean;
Description: To be documented
Note Caller must hold the table extent lock


function TVirtualDiskVboxImage.LocateDelta(AExtent:TVirtualDiskExtent):String;
Description: To be documented
Note Caller must hold the extent lock


function TVirtualDiskVboxImage.LocateParent(AExtent:TVirtualDiskExtent):String;
Description: To be documented
Note Caller must hold the extent lock


function TVirtualDiskVboxImage.ImageInit:Boolean;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.Read(ASector:LongWord; ACount:Word; var ABuffer):Boolean;
Description: To be documented
Note Caller must hold the image lock


function TVirtualDiskVboxImage.Write(ASector:LongWord; ACount:Word; const ABuffer):Boolean;
Description: To be documented
Note Caller must hold the image lock


function TVirtualDiskVboxImage.Allocated(ASector:LongWord; ACount:Word):Word;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.CreateImage(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 TVirtualDiskVboxImage.OpenImage(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 TVirtualDiskVboxImage.CloseImage:Boolean;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.ResizeImage(const ASectorCount:Int64):Boolean;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.CreateSnapshot:Boolean;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.DeleteSnapshot:Boolean;
Description: To be documented
Note None documented


function TVirtualDiskVboxImage.MergeSnapshot:Boolean;
Description: To be documented
Note None documented


Return to Unit Reference