Difference between revisions of "TNTFSSecurity"
From Ultibo.org
(Created page with "Return to Unit NTFSClass __TOC__ === Description === ---- ''To be documented'' === Class definitions === ---- <div class="toccolours mw-collapsible m...") |
(No difference)
|
Latest revision as of 06:29, 24 May 2018
Return to Unit NTFSClass
Description
To be documented
Class definitions
TNTFSSecurity = class(TDiskSecurity)
Note: Data of attribute $SECURITY_DESCRIPTOR and stream $SDS in file $Secure | |
Note: This is the same structure that is used for all security in Windows (File/Kernel/Registry etc). See TSecurityDescriptor and associated values in Security unit for more information. | |
constructor Create(ALocalLock:TMutexHandle);
|
|
constructor CreateFromSecurity(ALocalLock:TMutexHandle; ASecurity:TDiskSecurity); override;
|
|
constructor CreateFromDescriptor(ALocalLock:TMutexHandle; ADescriptor:Pointer); override;
|
|
destructor Destroy; override;
|
|
private
| |
FVolumeVersion:Word;
|
|
FRevision:Byte;
|
Revision |
FControl:Word;
|
Control Flags |
FSacl:PACL;
|
SACL |
FDacl:PACL;
|
DACL |
FOwner:PSID;
|
Owner SID |
FGroup:PSID;
|
Group SID |
procedure SetSacl(ASacl:PACL);
|
|
procedure SetDacl(ADacl:PACL);
|
|
procedure SetOwner(AOwner:PSID);
|
|
procedure SetGroup(AGroup:PSID);
|
|
procedure SetSaclSize(ASize:Word);
|
|
procedure SetDaclSize(ASize:Word);
|
|
procedure SetOwnerSize(ASize:Word);
|
|
procedure SetGroupSize(ASize:Word);
|
|
public
| |
property VolumeVersion:Word read FVolumeVersion;
|
|
property Revision:Byte read FRevision write FRevision;
|
|
property Control:Word read FControl write FControl;
|
|
property Sacl:PACL read FSacl write SetSacl;
|
|
property Dacl:PACL read FDacl write SetDacl;
|
|
property Owner:PSID read FOwner write SetOwner;
|
|
property Group:PSID read FGroup write SetGroup;
|
|
function SaclSize:Word;
|
|
function DaclSize:Word;
|
|
function OwnerSize:Word;
|
|
function GroupSize:Word;
|
|
function SaclOffset:LongWord;
|
Offset to SACL |
function DaclOffset:LongWord;
|
Offset to DACL |
function OwnerOffset:LongWord;
|
Offset to Owner SID |
function GroupOffset:LongWord;
|
Offset to Group SID |
function SaclOffsetEx(ALocal:Boolean):LongWord;
|
Offset to SACL |
function DaclOffsetEx(ALocal:Boolean):LongWord;
|
Offset to DACL |
function OwnerOffsetEx(ALocal:Boolean):LongWord;
|
Offset to Owner SID |
function GroupOffsetEx(ALocal:Boolean):LongWord;
|
Offset to Group SID |
function SecuritySize:LongWord; override;
|
|
function SecurityHash:LongWord;
|
|
function SecurityDescriptor:Pointer; override;
|
|
function SecurityDescriptorEx(ALocal:Boolean):Pointer; override;
|
|
function InheritedDescriptor:Pointer; override;
|
|
function MergedDescriptor(AChild:Pointer):Pointer; override;
|
|
function ReleaseDescriptor(ADescriptor:Pointer; AInherited,AMerged:Boolean):Boolean; override;
|
|
function CopyToSecurity(ASecurity:TDiskSecurity):Boolean; override;
|
|
function CopyToDescriptor(ADescriptor:Pointer; ASize:LongWord):Boolean; override;
|
|
function CopyToDescriptorEx(ADescriptor:Pointer; ASize:LongWord; ALocal:Boolean):Boolean; override;
|
|
function CopyFromDescriptor(ADescriptor:Pointer; ASize:LongWord):Boolean; override;
|
|
function ReadSecurity(ABuffer:Pointer; var AOffset,ASize:LongWord; AVersion:Word):Boolean;
|
|
function WriteSecurity(ABuffer:Pointer; var AOffset,ASize:LongWord; AVersion:Word):Boolean;
|
|
function WriteSecurityEx(ABuffer:Pointer; var AOffset,ASize:LongWord; ALocal:Boolean; AVersion:Word):Boolean;
|
Function declarations
constructor TNTFSSecurity.Create(ALocalLock:TMutexHandle);
Description: To be documented
Note | None documented |
---|
constructor TNTFSSecurity.CreateFromSecurity(ALocalLock:TMutexHandle; ASecurity:TDiskSecurity);
Description: To be documented
Note | None documented |
---|
constructor TNTFSSecurity.CreateFromDescriptor(ALocalLock:TMutexHandle; ADescriptor:Pointer);
Description: To be documented
Note | None documented |
---|
destructor TNTFSSecurity.Destroy;
Description: To be documented
Note | None documented |
---|
procedure TNTFSSecurity.SetSacl(ASacl:PACL);
Description: To be documented
Note | None documented |
---|
procedure TNTFSSecurity.SetDacl(ADacl:PACL);
Description: To be documented
Note | None documented |
---|
procedure TNTFSSecurity.SetOwner(AOwner:PSID);
Description: To be documented
Note | None documented |
---|
procedure TNTFSSecurity.SetGroup(AGroup:PSID);
Description: To be documented
Note | None documented |
---|
procedure TNTFSSecurity.SetSaclSize(ASize:Word);
Description: To be documented
Note | None documented |
---|
procedure TNTFSSecurity.SetDaclSize(ASize:Word);
Description: To be documented
Note | None documented |
---|
procedure TNTFSSecurity.SetOwnerSize(ASize:Word);
Description: To be documented
Note | None documented |
---|
procedure TNTFSSecurity.SetGroupSize(ASize:Word);
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.SaclSize:Word;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.DaclSize:Word;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.OwnerSize:Word;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.GroupSize:Word;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.SaclOffset:LongWord;
Description: To be documented
Note | Order is always Sacl, Dacl, Owner, Group (Disk Format) |
---|
function TNTFSSecurity.DaclOffset:LongWord;
Description: To be documented
Note | Order is always Sacl, Dacl, Owner, Group (Disk Format) |
---|
function TNTFSSecurity.OwnerOffset:LongWord;
Description: To be documented
Note | Order is always Sacl, Dacl, Owner, Group (Disk Format) |
---|
function TNTFSSecurity.GroupOffset:LongWord;
Description: To be documented
Note | Order is always Sacl, Dacl, Owner, Group (Disk Format) |
---|
function TNTFSSecurity.SaclOffsetEx(ALocal:Boolean):LongWord;
Description: Offset to SACL
Note | Order is always Owner, Group, Dacl, Sacl (API Format)
Local indicates the Descriptor should be in Disk Format (not API Format) |
---|
function TNTFSSecurity.DaclOffsetEx(ALocal:Boolean):LongWord;
Description: Offset to DACL
Note | Order is always Owner, Group, Dacl, Sacl (API Format)
Local indicates the Descriptor should be in Disk Format (not API Format) |
---|
function TNTFSSecurity.OwnerOffsetEx(ALocal:Boolean):LongWord;
Description: Offset to Owner SID
Note | Order is always Owner, Group, Dacl, Sacl (API Format)
Local indicates the Descriptor should be in Disk Format (not API Format) |
---|
function TNTFSSecurity.GroupOffsetEx(ALocal:Boolean):LongWord;
Description: Offset to Group SID
Note | Order is always Owner, Group, Dacl, Sacl (API Format)
Local indicates the Descriptor should be in Disk Format (not API Format) |
---|
function TNTFSSecurity.SecuritySize:LongWord;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.SecurityHash:LongWord;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.SecurityDescriptor:Pointer;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.SecurityDescriptorEx(ALocal:Boolean):Pointer;
Description: To be documented
Note | Local indicates the Descriptor should be in Disk Format (not API Format) |
---|
function TNTFSSecurity.InheritedDescriptor:Pointer;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.MergedDescriptor(AChild:Pointer):Pointer;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.ReleaseDescriptor(ADescriptor:Pointer; AInherited,AMerged:Boolean):Boolean;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.CopyToSecurity(ASecurity:TDiskSecurity):Boolean;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.CopyToDescriptor(ADescriptor:Pointer; ASize:LongWord):Boolean;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.CopyToDescriptorEx(ADescriptor:Pointer; ASize:LongWord; ALocal:Boolean):Boolean;
Description: To be documented
Note | Local indicates the Descriptor should be in Disk Format (not API Format) |
---|
function TNTFSSecurity.CopyFromDescriptor(ADescriptor:Pointer; ASize:LongWord):Boolean;
Description: To be documented
Note | None documented |
---|
function TNTFSSecurity.ReadSecurity(ABuffer:Pointer; var AOffset,ASize:LongWord; AVersion:Word):Boolean;
Description: Read the security descriptor from the supplied buffer at the supplied offset
Note | None documented |
---|
function TNTFSSecurity.WriteSecurity(ABuffer:Pointer; var AOffset,ASize:LongWord; AVersion:Word):Boolean;
Description: Write the security descriptor to the supplied buffer at the supplied offset
Note | None documented |
---|
function TNTFSSecurity.WriteSecurityEx(ABuffer:Pointer; var AOffset,ASize:LongWord; ALocal:Boolean; AVersion:Word):Boolean;
Description: Write the security descriptor to the supplied buffer at the supplied offset
Note | Local indicates the Descriptor should be in Disk Format (not API Format) |
---|
Return to Unit Reference