Class TSecureableObject (unit secureobj)

Inherits from

TObject

Constructors


constructor Create (bProtected: Boolean);



Functions

function AddRightsTo(pDomainName, pAccountName: String; dwAccessMask: DWORD; bGranted: Boolean): Boolean;


destructor Destroy;

this can not fail

function RevokePreviouslyGrantedAccess(pAccountName, pDomainName: String): Boolean;

if Assigned(pNewACL) Then FreeMem(pNewACL); if Assigned(pNewSD) Then FreeMem(pNewSD);

procedure BuildSD(pSelfRelativeReturnSD: PSecurityDescriptor);

didn't find the name, or something else went wrong.

procedure FreeDataStructures;


function GetSIDFromName(pDomainName, pAccountName: String; var pcSid: PSID; var pcDomainName: PChar): Boolean;

helper functions

procedure GetTheDescriptor;


procedure SetTheDescriptor;


procedure ZeroOut;


Properties

Events

Variables

m_iSecErrorCode : integer;


m_pDACL : PACL;


m_pOwner : PSID;


m_pPrimaryGroup : PSID;


m_pSACL : PACL;


m_pSD : PSecurityDescriptor;



Constructors


constructor Create (bProtected: Boolean);


Functions


function AddRightsTo(pDomainName, pAccountName: String; dwAccessMask: DWORD; bGranted: Boolean): Boolean;


destructor Destroy;

this can not fail


function RevokePreviouslyGrantedAccess(pAccountName, pDomainName: String): Boolean;

if Assigned(pNewACL) Then FreeMem(pNewACL); if Assigned(pNewSD) Then FreeMem(pNewSD);


procedure BuildSD(pSelfRelativeReturnSD: PSecurityDescriptor);

didn't find the name, or something else went wrong...


procedure FreeDataStructures;


function GetSIDFromName(pDomainName, pAccountName: String; var pcSid: PSID; var pcDomainName: PChar): Boolean;

helper functions


procedure GetTheDescriptor;


procedure SetTheDescriptor;


procedure ZeroOut;


Properties


Events


Variables


m_iSecErrorCode : integer;


m_pDACL : PACL;


m_pOwner : PSID;


m_pPrimaryGroup : PSID;


m_pSACL : PACL;


m_pSD : PSecurityDescriptor;