AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pfad einer gemappten Partition?

Ein Thema von Mattze · begonnen am 23. Jun 2009 · letzter Beitrag vom 1. Jul 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#11

Re: Pfad einer gemappten Partition?

  Alt 23. Jun 2009, 13:03
Es gibt auch Funktionen, welches die Volumes direkt auflisten.

alles Andere geht ja darüber, daß die gemappten Laufwerke und Pfade gesucht werden und dann darüber auf das Volume zugegriffen wird, also eigentlich von hinten rum.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#12

Re: Pfad einer gemappten Partition?

  Alt 23. Jun 2009, 16:29
Hallo,

und genau das ist das Problem.
Woher weiß ich, dass ein Volume gemappt ist und wie kriege ich das Volume zum Überprüfen überhaupt, wenn nicht über die LogicalDriveList?

Es wird wohl an einer Funktion hängen, die die Volumes direkt auflisten.
Ich vermute, dass das im DDK beschrieben ist. Und da ich das DDK nicht habe, ist das garantiert eine fürchterliche Sucherei.

Ein Glück, dass das nur ein Test ist und nichts wichtiges!
Ich habe mich schon immer gefragt, wie das eigentlich funktioniert mit der Zuordnung von physikalischen und logischen Laufwerkeigenschaften. (Ohne WMI!)
Jetzt suche ich eben...

Gruß
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#13

Re: Pfad einer gemappten Partition?

  Alt 24. Jun 2009, 07:27
Du willst jetzt bestimmt nicht wirklich wissen, wie einfach man Volumes sucht?













Ich warne dich ... du wirst vor Scharm im Boden versinken.













Na gut, du hast es so gewollt:













MSDN-Library durchsuchenFindFirstVolume, MSDN-Library durchsuchenFindNextVolume und MSDN-Library durchsuchenFindVolumeClose


OK, ich Schäm mich ja mit, dafür, daß ich vergessen hatte, wie es ging.
Und Tschuldschung, aber ich konnt grad nicht anders
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#14

Re: Pfad einer gemappten Partition?

  Alt 24. Jun 2009, 13:12
NEIIIN,

das darf doch nicht wahr sein.
Und ich habe mich in der Programmierung wirklich nicht für ganz blöd gehalten!!!
Ich wollte gerade jammern, dass ich nix dazu finde!

Man, man, man, wie kann man nur so blöd sein. Dabei weiß ich das, weil ich es mal gemacht habe.

"Kennst Du den Vornamen von Alzheimer? Nein? Siehst Du, so fängt es an!!!"

Entschuldigung, aber Sch...!!! Ich ärgere mich wirklich!!!
Das war doch wohl das erste, was man hätte probieren müssen!!!

Aber danke, da wäre ich nie drauf gekommen!
Manchmal ist man wirklich einfach vernagelt. Da sieht man den Wald vor lauter Bäumen nicht.

Gruß
Mattze
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#15

Re: Pfad einer gemappten Partition?

  Alt 25. Jun 2009, 09:33
Hallo,

interessant. Der Kreis schließt sich. Ich bin jetzt wieder bei meiner Ausgangsfragestellung angelangt.
Also entweder habe ich alles bisher richtig gemacht oder grundsätzlich falsch.
Meine Frage war: Wie stellt Windows (XP) den Zusammenhang zwischen physischen Laufwerken und logischen Volumes her?
(Ich programmiere zwar schon ein Weilchen, aber diese Frage ist irgendwie nie aufgetaucht. Jetzt mache ich es auch nur, weil es mich selber mal interessiert.)

Solange die Volumes einen Driveletter haben, gibt es da keine Probleme. (Die partitionnumber aus deviceIOcontrol scheint die Position in der Drivelist - getlogicaldrives(strings) - anzugeben.)
Aber nun, wenn das Volume keinen Driveletter hat, sondern "nur" gemappt ist...

Nun, schaun mer mal...

Gruß
Mattze

PS: Das war nur, um mal zu verdeutlichen, worum es mir eigentlich geht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#16

Re: Pfad einer gemappten Partition?

  Alt 25. Jun 2009, 19:05
Also unter DOS konnta man noch beim BIOS über eine Nummer das Laufwerk ansprechen, wobei die Nummerierung entsprechend der Buchstaben ansprechen.

Bei Windows gibt es intern erstmal diese Volume-Bezeichnungen, wie sie von FindFirstVolume geliefert werden und dann sind z.B. ein Laufverksbuchstabe bzw. so ein Mountpath mit diesen Volumebezeichnungen, denn zum Ansteuern braucht man ja eine "feste" Bezeichnung (diese Volume-Bezeichnung), weil sich Laufwerksbuchstaben und Mountpaths ja ändern können.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#17

Re: Pfad einer gemappten Partition?

  Alt 26. Jun 2009, 12:56
Hallo,

mit deviceIOcontrol geht da erstaunlich viel.
Mit dem Parameter IOCTL_SCSI_PASS_THROUGH_DIRECT, IOCTL_SCSI_GET_ADDRESS und IOCTL_DISK_GET_DRIVE_GEOMETRY habe ich schon eine ganze Menge über die physischen Laufwerke rausbekommen. (Für HD, ext. HD, USB-Sticks, CD-LW. Ob's da noch mehr sinnvolle Sachen gibt?)

Das Problem ist nur das CreateFile bzw. was man da alles als ersten Parameter angeben kann.
z. B.: '\\.\PHYSICALDRIVE[n]', '\\.\CDROM[m]','\?\Volume{...}' (Tatsächlich!). (n=0..9, m=0..?,
und das 3. ist wirklich der Name aus FindFirstVolume usw.)
Ich suche die Angabe für Floppy. Gibt es da was? Und kennst Du sonste noch was dafür? (Ich meine nur für physische Geräte oder eben Volumes.)

Wenn man '\?\Volume{...}' nimmt, kann man sogar mit IOCTL_STORAGE_GET_DEVICE_NUMBER das zugehörige physische Gerät und die Partitionnumber rauskriegen.

Momentan bin ich noch nicht sicher, aber es läuft wohl alles (wie so oft) darauf hinaus, womit man anfängt, was die Wurzel ist. Es scheint, dass man am besten die MountedVolumes nimmt, die man mit FindFirstVolume usw. bekommt. Parallel eine Liste der physischen Laufwerke und das alles zusammenbringen. Mal sehen, wie ich damit zurecht komme...

Gruß
Mattze
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#18

Re: Pfad einer gemappten Partition?

  Alt 1. Jul 2009, 10:02
Hallo,

ich wollte nur mal den Erfolg melden.
Jetzt funktioniert es!

Dabei ist mir etwas Interessantes aufgefallen:
Wahrscheinlich überall, wo man einen "RootPath" oder ähnliches angeben soll, funktioniert auch der
VolumeMountName ('\\?\Volume{GUID}' - ich weiß jetzt nicht mehr, ob hinten ein Backslash ran muss.)
Ich habe das für CreateFile und GetDiskFreespaceEx ausprobiert. Ohne Probleme!!!

Gruß
Mattze
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 14:47 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