rechte auslesen

2fast4you87

Erfahrenes Mitglied
Hallo Leute,

habe ein Programm in vc++ 6.0 (Windows) geschrieben was rekursiv den ganzen Verzeichnisbaum durchscanned und die Dateien und die Ordner in eine DB abspeichert, der soll aber auch noch die Rechte wie in cacls mit in die DB abspeichern.

Da dachte ich mir ich frag das einfach mit cacls ab das in eine Datei die Datei einlesen und in die DB speichern, das Problem ist aber das die Suche um faktor 1000 langsamer wird.

Gibt es die möglichkeit mit C++ die rechte des Ordners abzufragen?


Gruß 2fast...
 
Hi.
2fast4you87 hat gesagt.:
Gibt es die möglichkeit mit C++ die rechte des Ordners abzufragen?
Natürlich. Die WinAPI Funktionen stehen dir selbstverständlich unter C++ zur Verfügung: GetSecurityInfo.

Das Ganze ist allerdings nicht einfach. Du mußt dir zuerst die ACL (bzw. DACL) besorgen und kannst dann auf die ACEs die darin enthalten sind zugreifen (mittels der GetExplicitEntriesFromAcl Funktion). Dann mußt du die ACEs aber noch auswerten und in eine geeignete Form bringen - je nachdem wie du die Information speichern willst.

Du kannst dir aber mal den Quellcode von SetACL anschauen wie das alles da gehandhabt wird bzw. könntest du natürlich auch die Bibliothek von dem Projekt gleich benutzen.

Gruß
 
Zurück