TNTFSDiskRun

From Ultibo.org
Revision as of 05:59, 24 May 2018 by Ultibo (Talk | contribs) (Created page with "Return to Unit NTFSClass __TOC__ === Description === ---- ''To be documented'' === Class definitions === ---- <div class="toccolours mw-collapsible m...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Return to Unit NTFSClass


Description


To be documented

Class definitions



TNTFSDiskRun = class(TListObject)

constructor Create(ALocalLock:TMutexHandle; AAttribute:TNTFSDiskAttribute);  
destructor Destroy; override;  
private
FLocalLock:TMutexHandle;  
 
FStart:Int64; Run start logical cluster
FOffset:Int64; Run start cluster offset
FLength:Int64; Run length in clusters
 
FAttribute:TNTFSDiskAttribute; Attribute owning this run
 
function AcquireLock:Boolean;  
function ReleaseLock:Boolean;  
 
function GetIsLast:Boolean;  
function GetIsSparse:Boolean;  
 
function GetOffsetSize:Byte;  
function GetLengthSize:Byte;  
 
procedure SetStart(const AStart:Int64);  
procedure SetOffset(const AOffset:Int64);  
 
function GetSuccessor:TNTFSDiskRun;  
function GetPredecessor:TNTFSDiskRun;  
public
property IsLast:Boolean read GetIsLast;  
property IsSparse:Boolean read GetIsSparse;  
 
property Start:Int64 read FStart write SetStart;  
property Offset:Int64 read FOffset write SetOffset;  
property Length:Int64 read FLength write FLength;  
 
property Attribute:TNTFSDiskAttribute read FAttribute;  
 
function RunSize:LongWord; Size of the encoded data run
 
function UpdateRun:Boolean;  
 
function ReadRun(ABuffer:Pointer; var AOffset:LongWord; AVersion:Word):Boolean;  
function WriteRun(ABuffer:Pointer; var AOffset:LongWord; AVersion:Word):Boolean;  


Function declarations



constructor TNTFSDiskRun.Create(ALocalLock:TMutexHandle; AAttribute:TNTFSDiskAttribute);
Description: To be documented
Note None documented


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


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


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


function TNTFSDiskRun.GetIsLast:Boolean;
Description: To be documented
Note None documented


function TNTFSDiskRun.GetIsSparse:Boolean;
Description: To be documented
Note None documented


function TNTFSDiskRun.GetOffsetSize:Byte;
Description: To be documented
Note None documented


function TNTFSDiskRun.GetLengthSize:Byte;
Description: To be documented
Note None documented


procedure TNTFSDiskRun.SetStart(const AStart:Int64);
Description: To be documented
Note None documented


procedure TNTFSDiskRun.SetOffset(const AOffset:Int64);
Description: To be documented
Note This should only be called by ReadRun, all others should call SetStart.

Calling this with Offset 0 to specify a Sparse run will produce incorrect results


function TNTFSDiskRun.GetSuccessor:TNTFSDiskRun;
Description: Get the Next non Sparse and non Last run in the list
Note None documented


function TNTFSDiskRun.GetPredecessor:TNTFSDiskRun;
Description: Get the Previous non Sparse and non Last run in the list
Note None documented


function TNTFSDiskRun.RunSize:LongWord;
Description: To be documented
Note None documented


function TNTFSDiskRun.UpdateRun:Boolean;
Description: To be documented
Note None documented


function TNTFSDiskRun.ReadRun(ABuffer:Pointer; var AOffset:LongWord; AVersion:Word):Boolean;
Description: Read the run data from the supplied buffer at the supplied offset
Note None documented


function TNTFSDiskRun.WriteRun(ABuffer:Pointer; var AOffset:LongWord; AVersion:Word):Boolean;
Description: Write the run data to the supplied buffer at the supplied offset
Note None documented


Return to Unit Reference