Die AccessControlList (
ACL) bestimmt wer welche Rechte auf einen Ordner hat.
Ein Administrator hat nur den Vorteil, dass er sich Rechte daran verschaffen kann, indem er den Besitz des Ordners übernimmt. Denn der Besitzer kann immer die
ACL anpassen und sich Rechte verschaffen.
Oder meinst du Vista? In Vista ist das MandatoryLevel eingeführt worden. Ordner besitzen ein zusätzliches Level, welches Niedrig, Normal und Hoch sein kann. Benutzer und dessen Prozesse (der Explorer), die selbst ein solches Level haben, können nur auf Daten zugreifen, die ein Level gleich oder kleiner besitzen. Dieses Level kann derzeit nur über die Kommandozeile geändert werden - sry, habe aber den Befehl vergessen. Glaube es war irgendwas mit iacacls oder so.
Wenn du tatsächlich überprüfen willst, welche Rechte ein Ordner hast, dann kann ich nur die
Msdn und die Funktion "GetFileSecurity" empfehlen. Es ist leider etwas kompliziert und erfordert Zeigermanipulation auf C-Ebene, jedoch nicht unmachbar.
Am einfachsten ist es, indem du versuchst mit CreateFile (siehe
MSDN) den Ordner zu öffnen. Glaube man muss das BACKUP_SEMANTICS Flag (oder so) darauf ansetzen, um ein
Handle zum Ordner zu bekommen. Wenn der Versuch fehlschlägt, wegen Rechteproblem, dann sollte GetLastError den Wert 5 haben (
Access denied).