![]() |
AccessCheck liefert False wenn Exception ausgelöst wird
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe folgenden Code (Ausschnitt):
Delphi-Quellcode:
Werfe ich eine Exception, liefert die Funktion False zurück und die Exception wird geworfen. Lasse ich stattdessen Text in der Konsole ausgeben liefert AccessCheck True zurück und alles funktioniert. Irgendwas scheint da mit dem Speicher nicht zu stimmen. Im Anhang mal das ganze Programm, für diejenigen, die es debuggen wollen.
if AccessCheck(psdAdmin, hImpersonationToken, dwAccessDesired, gm, ps, dwStructureSize,
dwStatus, bReturn) then begin Result := bReturn; end else Writeln('Test'); //raise Exception.Create(SysErrorMessage(GetLastError)); |
Re: AccessCheck liefert False wenn Exception ausgelöst wird
Es wurde vergessen zu definieren:
Delphi-Quellcode:
HA, was das schnell oder was?
dwStructureSize := sizeof(ps);
Und noch was in Eigenwerbung. So sieht das ganze mit der ![]()
Delphi-Quellcode:
function JwCheckAdministratorAccess : Boolean;
var SD : TJwSecurityDescriptor; begin if not Assigned(JwAdministratorsSID) then JwInitWellKnownSIDs; SD := TJwSecurityDescriptor.Create; try SD.PrimaryGroup := JwNullSID; SD.Owner := JwAdministratorsSID; SD.OwnDACL := true; SD.DACL.Add(TJwDiscretionaryAccessControlEntryAllow.Create(nil,[], STANDARD_RIGHTS_ALL,JwAdministratorsSID,false)); result := TJwSecureGeneralObject.AccessCheck(SD,nil,STANDARD_RIGHTS_ALL, TJwSecurityGenericMapping); finally FreeAndNil(SD); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz