![]() |
Pfad einer gemappten Partition?
Hallo,
mal wieder eine Hardwarefrage: Unter XP (usw.) kann man eine Partition auf einen Pfad einer anderen Partition mappen (und den Laufwerksbuchstaben dieser gemappten Partition ruhig entfernen). 1. Wie kriege ich raus, dass es eine gemappte Partition ist? 2. Wie kriege ich den Pfad, auf den sie gemappt ist? Weiß das jemand? Ich suche mich da schon wund.:-( Danke! Mattze |
Re: Pfad einer gemappten Partition?
Schau mal ab hier:
![]() |
Re: Pfad einer gemappten Partition?
ich bin mir grad nicht sicher, ob's da wirklich mit drin ist >
![]() aber wenn, dann kann ich später mal nachschauen welche Befehle nötig sind |
Re: Pfad einer gemappten Partition?
Hallo,
das ging ja schnell, aber... Da kann ich auch nichts finden. Es geht nicht um Netzlaufwerke! Die Partition hat keinen Laufwerksbuchstaben mehr!!! Sie ist nur über einen Pfad auf einer anderen Partition ansprechbar! Ich nehme an, dass man sowas auch mit deviceIOcontrol rauskriegen kann. Ich kenne nur nicht die nötigen Parameter. Vielleicht hat jemand das DDK. Da müsste doch sowas drinstehen, nehme ikch an? (Oder man kriegt es mit WMI, aber das möchte ich nicht!) Gruß Mattze |
Re: Pfad einer gemappten Partition?
:oops: Frage falsch verstanden.
|
Re: Pfad einer gemappten Partition?
Liste der Anhänge anzeigen (Anzahl: 1)
also mein altes Projekt findet soein Laufwerk
und über die entsprechende Wert-Bezeichnung bin ich dann estmal wieder darauf gekommen ![]() ![]() jetzt muß ich nur noch nachsehn, wie ich damals die existierenden Volumes aufgelistet hatte |
Re: Pfad einer gemappten Partition?
Hallo
und vielen Dank! Genau das war es. (Tschja, man wird langsam als. Mit dem VolumePathName habe ich doch vor einigen Jahren mal gespielt. Alles vergessen...) Kannst Du mir noch einen Tipp geben, wie man solche Partitionen erkennt (und auflistet). In der Partitionsliste, die man mit DeviceIOControl bekommt, gibt es Partitionen mit der Partitionsnummer 0. Sind das immer solche? Gruß Mattze |
Re: Pfad einer gemappten Partition?
Wenn ich mich recht erinnere, dann sind in dieser Partitionsliste (per DeviceIOControl) alle Partitionen eines lLaufwerkes durchnummerriert, also die Erste 0, die Zweite 1 usw.
und das hat dann nix mit dem Status zu tun, wie sie gemappt sind. |
Re: Pfad einer gemappten Partition?
Hallo himitsu,
ja, das dachte ich eigentlich auch. Nachdem ich aber mal eine Partition (war D:) woandershin gemappt hatte und den Laufwerksbuchstaben frei gab, erschien plötzlich in der Partitionliste Partiton 1, Partition 0, Partition3... (Ich meine die Partitonsnummern und blende mal aus, dass es für jede Partition eigentlich mehrere Einträge gibt - laut Spezifikation) Deshalb diese komische Frage! Wobei ich eigentlich eine halbe Antwort habe! Nachdem ich das wieder zurückgemacht hatte, also D wieder der Partition zugeordnet und das Gemappte aufgehoben hatte, blieb diese Partition mit der Nummer 0 da! Wahrscheinlich muss man sich wirklich durch die Partitionstabelle hangeln, oder? Gruß Mattze |
Re: Pfad einer gemappten Partition?
Hallo,
doch noch mal. Jetzt habe ich mir Deine Quelle richtig angeguckt und nun glaube ich, dass das Problem bleibt. Du hast ja keinen VolumeName, das Volume taucht in den LogicalDriveStrings nicht auf. Es gibt keinen Laufwerksbuchstaben für diese Volume. Und trotzdem muss es irgendwie gehen... Windows usw. können es doch auch. In der Registry bin ich übrigens auch nicht fündig geworden. Trotzdem danke für die mühe. Gruß Mattze |
Re: Pfad einer gemappten Partition?
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. |
Re: Pfad einer gemappten Partition?
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 |
Re: Pfad einer gemappten Partition?
Du willst jetzt bestimmt nicht wirklich wissen, wie einfach man Volumes sucht?
Ich warne dich ... du wirst vor Scharm im Boden versinken. :lol: Na gut, du hast es so gewollt: ![]() ![]() ![]() OK, ich Schäm mich ja mit, dafür, daß ich vergessen hatte, wie es ging. Und Tschuldschung, aber ich konnt grad nicht anders :lol: |
Re: Pfad einer gemappten Partition?
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 |
Re: Pfad einer gemappten Partition?
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. |
Re: Pfad einer gemappten Partition?
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. |
Re: Pfad einer gemappten Partition?
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 |
Re: Pfad einer gemappten Partition?
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz