So, in einem
WinAPI Forum wurde mir jetzt etwas weitergeholfen:
http://www.c-plusplus.de/forum/viewt...=469825#469825
Ich versuche das gerade in Code umzusetzten:
Delphi-Quellcode:
uses
AclAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
psd: PSECURITY_DESCRIPTOR;
dwLen: DWORD;
psdc: SECURITY_DESCRIPTOR_CONTROL;
dwDummy: DWORD;
DaclPresent, DaclDefaulted: LongBool;
dacl: PACL;
aclinfo: PAclInformation;
begin
dwLen := 0;
psd := nil;
GetFileSecurity('c:\boot.ini', DACL_SECURITY_INFORMATION, psd, 0, dwLen);
psd := AllocMem(dwLen);
try
if GetFileSecurity('c:\boot.ini', DACL_SECURITY_INFORMATION, psd, dwLen,
dwLen) then
begin
GetMem(dacl, sizeof(PACL));
try
if GetSecurityDescriptorDacl(psd, DaclPresent, @dacl, DaclDefaulted) then
begin
if GetAclInformation(PAdacl, ) then
begin
end;
end;
finally
Freemem(dacl, sizeof(PACL));
end;
end;
finally
FreeMem(psd, dwLen);
end;
end;
Aber es will nicht so recht. PAclInformation kennt er nicht und hier:
if GetAclInformation(dacl, ) then
sagt er mir jetzt schon:
Zitat:
[Fehler] Unit1.pas(54): Inkompatible Typen: '_ACL' und 'PACL'
Ich bräuchte da mal eure Hilfe.