AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CreateFile mit Benutzer- oder Hauptbenutzerrechten
Thema durchsuchen
Ansicht
Themen-Optionen

CreateFile mit Benutzer- oder Hauptbenutzerrechten

Ein Thema von RWarnecke · begonnen am 22. Sep 2008 · letzter Beitrag vom 22. Sep 2008
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

CreateFile mit Benutzer- oder Hauptbenutzerrechten

  Alt 22. Sep 2008, 17:07
Hallo zusammen,

ich ermittel die Informationen über die Festplatten und CD/DVD-Laufwerke über den Befehl CreateFile. Dieses funktioniert auch wunderbar unter Administratorrechten. Nur wenn ich das ganze unter Benutzer- oder Hauptbenutzerrechten ausführe erhalte ich keine Daten.

Mein CreateFile Aufruf lautet so:
Delphi-Quellcode:
CreateFile (PChar('\\.\PhysicalDrive'+IntToStr(counter)),
                    GENERIC_READ or GENERIC_WRITE,
                    FILE_SHARE_READ or FILE_SHARE_WRITE, nil,
                    OPEN_EXISTING, 0, 0);
Gibt es da eine Möglichkeit, die ganzen Informationen unter den Benutzerrechten und/oder Hauptbenutzerrechten zu ermitteln ? Mein erster Ansatz war, ein entsprechendes Privilege zuzuweisen. Habe aber leider das passende nicht gefunden. Allerdings denke ich auch, dass ich mit dem Privilege auf dem Holzweg bin.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: CreateFile mit Benutzer- oder Hauptbenutzerrechten

  Alt 22. Sep 2008, 17:19
Welche Infos willst du denn? Ich denke über WMI solltest du evtl. auch die benötigten Infos bekommen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: CreateFile mit Benutzer- oder Hauptbenutzerrechten

  Alt 22. Sep 2008, 17:23
Zitat von Bernhard Geyer:
Welche Infos willst du denn? Ich denke über WMI solltest du evtl. auch die benötigten Infos bekommen.
Aber nicht die Daten, die in Win32_DiskPartition drinstehen. Es geht um die folgenden Daten :
Zitat:
Festplatte 0:
Modell : IC35L040AVER07-0
Zylinder : 5005
Spuren pro Zylinder : 255
Sektoren pro Spur : 63
Bytes pro Sektor : 512
Seriennummer : SXPTXQP9615
Bezeichnung : Datenträger Nr. 0, Partition Nr. 0
Größe : 38,34 GB (41171283968 Bytes)
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: CreateFile mit Benutzer- oder Hauptbenutzerrechten

  Alt 22. Sep 2008, 20:41
Warum benötigst du denn GENERIC_WRITE? Die Dateirechte findest du hier. Interessant dürften für dich vor allem FILE_READ_ATTRIBUTES und FILE_READ_EA sein. GENERIC_READ müsstest du dann auch nicht mehr verwenden. Die Regel lautet, immer lediglich die Rechte anzufordern, die auch benötigt werden.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: CreateFile mit Benutzer- oder Hauptbenutzerrechten

  Alt 22. Sep 2008, 20:48
Das Probem ist, dass die Partition physisch geöffnet werden muss und das geht nur mit administrativen Rechten.
Michael
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: CreateFile mit Benutzer- oder Hauptbenutzerrechten

  Alt 22. Sep 2008, 21:01
Äh, ja... Danke für den Hinweis, Luckie.
Die MSDN Library sagt leider deutlich:
Zitat:
The following requirements must be met for such a call to succeed:

* The caller must have administrative privileges. For more information, see Running with Special Privileges.
Also musst du wohl doch eine andere Möglichkeit finden.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#7

Re: CreateFile mit Benutzer- oder Hauptbenutzerrechten

  Alt 22. Sep 2008, 21:17
Zitat von Luckie:
Das Probem ist, dass die Partition physisch geöffnet werden muss und das geht nur mit administrativen Rechten.
Das ist bescheiden, aber trotzdem danke für Eure Hilfe.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz