Forum: Win32/Win64 API (native code)
Delphi
by Ghostwalker,
9. Mär 2007
Strike :) Problem gelöst.
Ursache war ein falsch gesetztes Flag bei den SecurityInformations. Der Fehler lag genau in der Routine MakeControlBits, und dieser Fehler ist auch in meiner C++-Vorlage.
Jetzt sieht die Routine wie folgt aus:
procedure MakeControlBits;
begin
aclPresent := False;
Forum: Win32/Win64 API (native code)
Delphi
by Ghostwalker,
8. Mär 2007
@NewSI
Yes, but only, if the given SecurityInformation contains DACL_SECURITY_INFORMATION :)
It's senseless to protect something that is never given :)
Forum: Win32/Win64 API (native code)
Delphi
by Ghostwalker,
8. Mär 2007
I init the NewSI with 0, because i've to check, witch information the user has changed :)
It makes no sense, to include PROTECTED_DACL_SECURITY_INFORMATION if the user has not changed the DACL :)
In my test i don't use this last parameter (Self). It makes no difference if i pass nil or self to it.
I tried the NIL/ProgressInvokeNever combination, but the error is the same in this case....
Forum: Win32/Win64 API (native code)
Delphi
by Ghostwalker,
8. Mär 2007
:wall:
Da ich absolut keine Plan mehr habe, was noch falsch sein könnte, poste ich mal die komplette Routine
function TFileSecurityInformation.SetSecurity(
SecurityInformation: SECURITY_INFORMATION;
pSecurityDescriptor: PSECURITY_DESCRIPTOR): HRESULT;
var
dErr : DWORD;
Forum: Win32/Win64 API (native code)
Delphi
by Ghostwalker,
7. Mär 2007
*mal nach oben schieben*
Keiner eine Idee ?
Forum: Win32/Win64 API (native code)
Delphi
by Ghostwalker,
27. Feb 2007
Habs grad mit @ ausprobiert. Leider kommt der Fehler nach wie vor.