Wie sind denn die Flags?D.h. sind sie so wie gedacht?
Was ich gerade bemerkt habe ist, dass du SID einfach übergibst. Da Create
jedoch keine Kopie anlegt und du keinen 5 Parameter (ownSid = true) verwendest,
könnte es zu Problemem kommen (doppelt freigegebenes Objekt).
Nutze den Kopierkonstruktor:
Delphi-Quellcode:
procedure TFileEntry.SetAccessControlEntry(Value : TJwSecurityAccessControlEntry);
begin
if FAccessControlEntry <> Value then
begin
FAccessControlEntry := TJwDiscretionaryAccessControlEntryAllow.Create(Value);
FAccessControlEntry.Flags := [afObjectInheritAce, afContainerInheritAce];
//dieses ACE ist in keiner Liste!
end;
end;
Versuch das einfach mal.