Berechtigung für Ordner
-
Hallo zusammen
Ich habe ein Programm geschrieben, das Ordner auflistet und anschliessend löscht.
Nun ist es so, dass es auch die Ordner auflistet werden, auf die ich kein Zugriff habe. Darum sollte bei jedem Ordner die Berechtigungen überprüft werden.
Ich bin nun seit einiger Zeit am Versuchen dies zu Realisieren, aber mit wenig Erfolg.
Ich dache mir, ich mache es mit:
LookupAccountName
GetSecurityInfo
GetEffectiveRightsFromAcl
Doch bei LookupAccountName fehlt mir der 2. Parameter (lpAccountName) und ich bin vergeblich auf der Suche wie ich diesen bekomme.
Hat das schon jemend gemacht, oder weiss jemand wie das genau funktioniert, oder hat einen Beispiel an dem ich abkupfern kann?
Gruss Binggi
-
-
Warum brauchst Du überhaupt einen Namen?
Verwende doch den eigenen COntext, oder?
OpenThreadToken( GetCurrentThread(), TOKEN_DUPLICATE, TRUE, &;;hToken ); DuplicateTokenEx( hToken, TOKEN_IMPERSONATE|TOKEN_READ|TOKEN_ASSIGN_PRIMARY|TOKEN_DUPLICATE, NULL, SecurityImpersonation, TokenPrimary, &;;hTokenDup );
Oder stelle dies zuerst noch sicher:
ImpersonateLoggedOnUser
http://msdn.microsoft.com/en-us/library/aa378612
-
Jochen Kalmbach schrieb:
Warum brauchst Du überhaupt einen Namen?
Verwende doch den eigenen COntext, oder?
OpenThreadToken( GetCurrentThread(), TOKEN_DUPLICATE, TRUE, &;;hToken ); DuplicateTokenEx( hToken, TOKEN_IMPERSONATE|TOKEN_READ|TOKEN_ASSIGN_PRIMARY|TOKEN_DUPLICATE, NULL, SecurityImpersonation, TokenPrimary, &;;hTokenDup );
Oder stelle dies zuerst noch sicher:
ImpersonateLoggedOnUser
http://msdn.microsoft.com/en-us/library/aa378612Ok die SID konnte ich auslesen. Aber wie komme ich weiter?
Was meinst du mit COntext?
Gruss Binggi
-
Warum kannst Du jetzt nicht direkt "GetEffectiveRightsFromAcl" aufrufen?