<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://ultibo.org/mediawiki_ultibo_org/index.php?action=history&amp;feed=atom&amp;title=TDiskPartitioner</id>
		<title>TDiskPartitioner - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://ultibo.org/mediawiki_ultibo_org/index.php?action=history&amp;feed=atom&amp;title=TDiskPartitioner"/>
		<link rel="alternate" type="text/html" href="https://ultibo.org/mediawiki_ultibo_org/index.php?title=TDiskPartitioner&amp;action=history"/>
		<updated>2026-04-06T01:52:39Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.1</generator>

	<entry>
		<id>https://ultibo.org/mediawiki_ultibo_org/index.php?title=TDiskPartitioner&amp;diff=4034&amp;oldid=prev</id>
		<title>Ultibo: Created page with &quot;Return to Unit Filesystem   __TOC__  === Description === ----  &#039;&#039;To be documented&#039;&#039;  === Class definitions === ----   &lt;div class=&quot;toccolours mw-collapsible...&quot;</title>
		<link rel="alternate" type="text/html" href="https://ultibo.org/mediawiki_ultibo_org/index.php?title=TDiskPartitioner&amp;diff=4034&amp;oldid=prev"/>
				<updated>2018-05-17T04:05:17Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Return to &lt;a href=&quot;/wiki/Unit_Filesystem&quot; title=&quot;Unit Filesystem&quot;&gt;Unit Filesystem&lt;/a&gt;   __TOC__  === Description === ----  &amp;#039;&amp;#039;To be documented&amp;#039;&amp;#039;  === Class definitions === ----   &amp;lt;div class=&amp;quot;toccolours mw-collapsible...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Return to [[Unit_Filesystem|Unit Filesystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;To be documented&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Class definitions ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TDiskPartitioner = class(TObject)&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(ADriver:TFileSysDriver; ARecognizer:TRecognizer);&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy; override;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;lt;div style=&amp;quot;font-family: monospace,courier;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;private&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FLock:TSynchronizerHandle;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FLocalLock:TMutexHandle;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;lt;div style=&amp;quot;font-family: monospace,courier;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;protected&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FDriver:TFileSysDriver;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FRecognizer:TRecognizer;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FInitChar:Byte;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Character to initialize sectors when adding partitions&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function AcquireLock:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReleaseLock:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckLogical(ADevice:TDiskDevice; AParent:TDiskPartition; APartitionId:Byte):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckExtended(ADevice:TDiskDevice; AParent:TDiskPartition; APartitionId:Byte):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetLogicalChild(ADevice:TDiskDevice; APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskPartition;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetExtendedSibling(ADevice:TDiskDevice; AParent:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskPartition;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetExtendedParent(ADevice:TDiskDevice; AParent:TDiskPartition; AStart:LongWord; ALock:Boolean; AState:LongWord):TDiskPartition;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetEndCHS(ADevice:TDiskDevice; AStart,ACount:LongWord; var ACylinder,AHead,ASector:Word):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetStartCHS(ADevice:TDiskDevice; AStart,ACount:LongWord; var ACylinder,AHead,ASector:Word):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetSectorCount(ADevice:TDiskDevice; AStart,ACount:LongWord):LongWord; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetStartSector(ADevice:TDiskDevice; AExtended,ALogical:Boolean; AStart:LongWord; var ACount:LongWord):LongWord; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetSectorOffset(ADevice:TDiskDevice; AParent:TDiskPartition; AExtended:Boolean; AStart:LongWord):LongWord; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPartitionId(ADevice:TDiskDevice; AParent:TDiskPartition; AStart,ACount:LongWord; APartitionId:Byte):Byte; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function InitPartition(ADevice:TDiskDevice; AParent:TDiskPartition; AStart,ACount:LongWord; APartitionId:Byte):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CreatePartitionRecord(ADevice:TDiskDevice; ARecord:PPartitionRecord):Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CreatePartitionEntry(ADevice:TDiskDevice; AStart,ACount,AOffset:LongWord; APartitionId:Byte; AActive:Boolean; var AEntry:TPartitionEntry):Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillSectors(ADevice:TDiskDevice; APartition:TDiskPartition; ASector,ACount:LongWord; AValue:Byte):Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadSectors(ADevice:TDiskDevice; APartition:TDiskPartition; ASector,ACount:LongWord; var ABuffer):Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function WriteSectors(ADevice:TDiskDevice; APartition:TDiskPartition; ASector,ACount:LongWord; const ABuffer):Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;lt;div style=&amp;quot;font-family: monospace,courier;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;public&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;property InitChar:Byte read FInitChar write FInitChar;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReaderLock:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReaderUnlock:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function WriterLock:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function WriterUnlock:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function AcceptPartition(ADevice:TDiskDevice; APartition,AParent:TDiskPartition; APartitionId:Byte):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CreatePartition(ADevice:TDiskDevice; AParent:TDiskPartition; APartitionId:Byte; ACount:LongWord; AActive:Boolean):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function DeletePartition(APartition:TDiskPartition):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ModifyPartition(APartition:TDiskPartition; APartitionId:Byte; AOverride:Boolean):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ActivatePartition(APartition:TDiskPartition; AActive:Boolean):Boolean; virtual;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Function declarations ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;constructor TDiskPartitioner.Create(ADriver:TFileSysDriver; ARecognizer:TRecognizer);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;destructor TDiskPartitioner.Destroy;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.AcquireLock:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.ReleaseLock:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.CheckLogical(ADevice:TDiskDevice; AParent:TDiskPartition; APartitionId:Byte):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Check if the Partition is of a Logical type&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device and partition lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.CheckExtended(ADevice:TDiskDevice; AParent:TDiskPartition; APartitionId:Byte):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Check if the Partition is of an Extended type&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device and partition lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.GetLogicalChild(ADevice:TDiskDevice; APartition:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskPartition;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Get the logical Child for an extended partition based on Parent&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Used to find the logical child of a Partition being deleted&lt;br /&gt;
Caller must hold the device and partition lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.GetExtendedSibling(ADevice:TDiskDevice; AParent:TDiskPartition; ALock:Boolean; AState:LongWord):TDiskPartition;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Get the next Sibling for an extended partition based on Parent&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Passed Parent should be the actual Parent&lt;br /&gt;
Also used to find the next sibling of a Partition being deleted&lt;br /&gt;
&amp;lt;br /&amp;gt;Caller must hold the device and partition lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.GetExtendedParent(ADevice:TDiskDevice; AParent:TDiskPartition; AStart:LongWord; ALock:Boolean; AState:LongWord):TDiskPartition;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Get the actual Parent for an extended partition based on Start sector&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Passed Parent should be the Root extended&lt;br /&gt;
Caller must hold the device and partition lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.GetEndCHS(ADevice:TDiskDevice; AStart,ACount:LongWord; var ACylinder,AHead,ASector:Word):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Get the End CHS values or dummy values if larger than 8GB&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Start and Count must be Cylinder aligned when passed&lt;br /&gt;
Caller must hold the device lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.GetStartCHS(ADevice:TDiskDevice; AStart,ACount:LongWord; var ACylinder,AHead,ASector:Word):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Get the Start CHS values or dummy values if larger than 8GB&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Start and Count must be Cylinder aligned when passed&lt;br /&gt;
Caller must hold the device lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.GetSectorCount(ADevice:TDiskDevice; AStart,ACount:LongWord):LongWord;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Determine the actual sector Count given an actual Start sector and nominal sector Count&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
| Start must be Cylinder aligned when passed&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| The actual result will be a Count that is aligned to a Cylinder boundary&lt;br /&gt;
Caller must hold the device lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.GetStartSector(ADevice:TDiskDevice; AExtended,ALogical:Boolean; AStart:LongWord; var ACount:LongWord):LongWord;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Determine the actual Start sector given a nominal Start sector&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| The actual result will be a Start that is aligned to a Cylinder boundary&lt;br /&gt;
For first Partition (not Extended) and Logical the Start is aligned to a Head boundary&lt;br /&gt;
&amp;lt;br /&amp;gt;Caller must hold the device lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.GetSectorOffset(ADevice:TDiskDevice; AParent:TDiskPartition; AExtended:Boolean; AStart:LongWord):LongWord;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Determine the actual sector Offset given an actual Start sector&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
| Start must be Cylinder aligned when passed&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Accounts for Offset behaviour of second level extended and logical partitions&lt;br /&gt;
Caller must hold the device and partition lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.GetPartitionId(ADevice:TDiskDevice; AParent:TDiskPartition; AStart,ACount:LongWord; APartitionId:Byte):Byte;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Determine the actual partition Type given a Start, Count and nominal Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device and partition lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.InitPartition(ADevice:TDiskDevice; AParent:TDiskPartition; AStart,ACount:LongWord; APartitionId:Byte):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Perform any initialization of a new partition such as filling the boot sector etc&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
| Start is the absolute start sector on the device&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device and partition lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.CreatePartitionRecord(ADevice:TDiskDevice; ARecord:PPartitionRecord):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Check for a valid Partition record (or Master Boot Record)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Create an empty Partition record (or Master Boot Record) if not valid&lt;br /&gt;
Caller must hold the device lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.CreatePartitionEntry(ADevice:TDiskDevice; AStart,ACount,AOffset:LongWord; APartitionId:Byte; AActive:Boolean; var AEntry:TPartitionEntry):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Fill the Partitition entry with the supplied values&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.FillSectors(ADevice:TDiskDevice; APartition:TDiskPartition; ASector,ACount:LongWord; AValue:Byte):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Fill specified number of sectors with the supplied value&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Sector&lt;br /&gt;
| Sector is relative to the StartSector of the Partition&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device and partition lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.ReadSectors(ADevice:TDiskDevice; APartition:TDiskPartition; ASector,ACount:LongWord; var ABuffer):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Read Sectors from the Device or Partition using Cache&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Sector&lt;br /&gt;
| Sector is relative to the StartSector of the Device or Partition&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device and partition lock, cache will serialize access to device.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.WriteSectors(ADevice:TDiskDevice; APartition:TDiskPartition; ASector,ACount:LongWord; const ABuffer):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Write Sectors to the Device or Partition using Cache&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Sector&lt;br /&gt;
| Sector is relative to the StartSector of the Device or Partition&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device and partition lock, cache will serialize access to device.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.ReaderLock:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.ReaderUnlock:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.WriterLock:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.WriterUnlock:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.AcceptPartition(ADevice:TDiskDevice; APartition,AParent:TDiskPartition; APartitionId:Byte):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Check if the Partition can be accepted for Create, Delete, Modify, Activate&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device and partition and parent lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.CreatePartition(ADevice:TDiskDevice; AParent:TDiskPartition; APartitionId:Byte; ACount:LongWord; AActive:Boolean):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Create a new Partition on the specified Device with the specified Parent (Optional)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| When creating Logical partitions the passed Parent must be the Root Extended&lt;br /&gt;
Caller must hold the device and parent writer locks&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.DeletePartition(APartition:TDiskPartition):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Delete the specified Partition from the specified Device&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Caller must hold the device and partition writer locks&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.ModifyPartition(APartition:TDiskPartition; APartitionId:Byte; AOverride:Boolean):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Modify the type of the specified Partition&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Override disables the normalisation of PartitionId to suit size and type and also disables dismount and remount of any volumes and drives etc&lt;br /&gt;
Caller must hold the partition writer lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TDiskPartitioner.ActivatePartition(APartition:TDiskPartition; AActive:Boolean):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Make the specified Partition active and all siblings inactive&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Also allows making the specified Partition inactive&lt;br /&gt;
No need to check for Extended as AcceptPartition does&lt;br /&gt;
&amp;lt;br /&amp;gt;Caller must hold the partition writer lock&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Return to [[Unit_Reference|Unit Reference]]&lt;/div&gt;</summary>
		<author><name>Ultibo</name></author>	</entry>

	</feed>