Einzelnen Beitrag anzeigen

Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#14

Re: Security_Descriptor ändern

  Alt 7. Sep 2007, 19:42
GetLastError ruft man nur dann auf, wenn eine API Funktion einen Fehler über den Rückgabewert meldet.
Es ist nämlich nicht definiert, dass LastError auf 0 gesetzt wird im Erfolgsfall.
Daher kann es auch im Erfolgsfall einen Wert ungleich 0 von GetLastError zurückgegeben werden.

Self-Relative SDs ist ein SD, der aus einem Stück Speicher besteht, der alles notwendige enthält. Diese Art wird
von API Funktionen zurückgegeben. Manche API Funktionen melden einen Fehler, wenn man so einen angibt.

Absolute SD ist ein SD, der zwar auch ein Speicherblock ist, aber nur Zeiger auf den Inhalt enthält. So zeigen
Owner, Group, DACL und SACL alle auf anderen Speicher. Diese Art von SD wird nur durch den Benutzer erstellt
und an API Funktionen übergeben.



Wie sieht denn nun dein String aus?
Meinst du mit DACL-Flags diese?: DACL_SECURITY_INFORMATION or PROTECTED_DACL_SECURITY_INFORMATION

PROTECTED_DACL_SECURITY_INFORMATION verwendet man, wenn übergeordnete Objekte ihre SD nicht ins aktuelle Objekt einbringen/vererben sollen. Soweit ich weiß unterstützt MS automatische Vererung nur bei Datei und Registry.
Wenn GetSecurityInfo bei einem Objekt UNPROTECTED_DACL_SECURITY_INFORMATION findet und es unterstützt Vererbund, dann sucht es beim Vorgänger rekursiv nach der DACL, bis es eine findet, die nicht vererbt ist. Dann wird die vererbte DACL zurückgegeben.

Man kann dieses System auf eigene Objekte übernehmen.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat