CreateFile und Administratorrechte
-
Hallo Forum.
Wenn ich mit
CreateFile( DevicePath, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,0,NULL);ein Handle auf ein Device öffnen möchte, so klappt das mit Windows-Administratorrechten wunderbar. Als eingeschränkter Benutzer bekomme ich aber INVALID_HANDLE_VALUE als Rückgabewert. Was kann man tun, damit der Code auch als Nicht-Administrator läuft?
DANKE!
-
Kannst du denn die Datei mit Notepad öffnen?
-
Wüsste nicht wie man Windowsberechtigungen umgehen könnte...
-
Wenn Du keine Berechtigung hast die Datei zu öffnen, dann kannst Du das halt nicht... Sag doch mal was GetLastError sagt...
-
er will nen treiber benutzen, keine datei öffnen.
-
@device: Genau richtig, ich möchte einen Treiber benutzen, ich öffne also etwas in der Art:
DevicePath = "\?\pci#ven_10ee..."
Als Rückgabewert von CreateFile erhalte ich dann INVALID_HANDLE_VALUE.
@Jochen Kalmbach: GetLastError() liefert mir Code 5 zurück.
Mir ist schon klar, dass man eine Datei, für die man keine Berechtigung hat, nicht öffnen kann, aber (a) gibt es vielleicht eine Alternative (?) und (b) braucht man doch "normalerweise" keine besonderen Rechte, um Treiber zu benutzen, oder?
Vielen Dank auf jeden Fall für alle Beiträge.
-
Für Devices braucht man natürlich auch die passenden Berechtigungen. Und AFAIK dürfen nur Administratoren direkt darafu zugreifen.
Du kannst Dir die Berechtigungen mit dem folgenden Tools anschauen:
http://www.sysinternals.com/Utilities/WinObj.html
-
@Jochen Kalmbach: Vielen Dank für das Tool. Bleibt noch die Frage: kann man denn - ähnlich wie bei einer Datei - die Sicherheitseinstellungen so verändern, dass auch ein normaler Benutzer darauf zugreifen kann?
-
Wenn Du Dir das Tool angeschaut hättest, dann wüsstest Du das

-
Okay, jetzt hab ich's auch angeschaut
Super-Tool, jetzt funktioniert's - ich bedanke mich vielmals !!