Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Bereitgestelltes Vlume? (https://www.delphipraxis.net/96245-bereitgestelltes-vlume.html)

Mattze 20. Jul 2007 17:53


Bereitgestelltes Vlume?
 
Hallo,

in Windows XP (und höher) kann man Volumes ja als Folder in einem anderen Volume "bereitstellen".
Wie kriegt man als Programmierer nun raus, dass "das gerade untersuchte Dir ein bereitgestelltes Volume" ist? (Windows zeigt im Eigenschaftendialog als Typ: "Bereitgestelltes Volume" an, leider geht das aber nicht über den üblichen Weg zur "Typbestimmung".
Da Windows das aber macht, hoffe ich hier richtig zu sein.

Also, wie macht Windows das?

Gruß
Mattze

DGL-luke 20. Jul 2007 18:52

Re: Bereitgestelltes Vlume?
 
per Hier im Forum suchenWMI solltest du alle diese bereitgestellten volumes herausfinden können.

Mattze 20. Jul 2007 19:12

Re: Bereitgestelltes Vlume?
 
Hallo,

vielen Dank für die schnelle Antwort. WMI geht bestimmt (obwohl ich mich nicht erinnern kann, da etwas in der Art gesehen zu haben), aber: Iiiihhh, WMI! Ich mag das Zeug einfach nicht. Mir sind die API-Aufrufe (die ja auch hinter WMI stehen) wesentlich lieber!!!

Falls also jemand die direkten API-Funktionen dazu kennt: Die sind gefragt!

Gruß
Mattze

Robert Marquardt 20. Jul 2007 20:22

Re: Bereitgestelltes Vlume?
 
Das duerfte das Mount Point API sein. win32api von http://jedi-apilib.sf.net besorgen. In JwaWinBase.pas ist das entsprechende API enthalten. Eine der Funktinoen heisst GetVolumeNameForVolumeMountPoint. Das duerfte reichen das API in der Online-Hilfe von Microsoft zu finden.

Mattze 24. Jul 2007 17:40

Re: Bereitgestelltes Vlume?
 
Hallo, wunderbar und vielen Dank.
Die wollte ich schon immer haben (seit ich mal durch laaange Suche damit Brenner und seinen Namen zuordnen konnte).
Zum DDK bin ich irgendwie nicht durchgekommen.

Eine Frage: Gibt es dafür auch eine Dokumentation (sprich: Hilfe). Am besten für die ganze Win32-API von Jedi?
Ist ja so fürchterbar viel...

Gruß
Mattze

SirThornberry 24. Jul 2007 17:50

Re: Bereitgestelltes Vlume?
 
ist das entsprechende bit bei den Attributen nicht gesetzt? Kanns hier leider nicht probieren.

Mattze 24. Jul 2007 18:12

Re: Bereitgestelltes Vlume?
 
Hallo,

ich dachte zuerst auch, dass es ein einfaches Attribut des Ordners ist. Das wäre auch schön und plausibel, wahrscheinlich aber zu einfach! Ich habe leider kein entsprechendes Attribut gefunden.
Was müsste denn das sein? (Vielleicht gibt es da ein neues für NTFS?)

Nochwas zur Mount Point API:
Eigentlich suche ich ja genau das Gegenteil davon. Dort wird dem physischen etwa logisches zugeordnet. Aber ich habe ja einen "logischen" Ordner und will nun nur wissen, ob der ein "normaler Ordner" ist oder dem vielleicht physisch etwas anderes zugeordnet ist.
Ich suche weiter... Das muss doch zu machen sein. Windows kann's doch auch...

Gruß
Mattze

SirThornberry 24. Jul 2007 18:13

Re: Bereitgestelltes Vlume?
 
ich hätte an das Std-Attribut gedacht welches es seit Ewigkeit (mindestens seit fat16) gibt. Ich glaub es war die 8 welche für volume stand (so wie 16 für Ordner steht)

Robert Marquardt 24. Jul 2007 18:15

Re: Bereitgestelltes Vlume?
 
Zitat:

Zitat von Mattze
Eine Frage: Gibt es dafür auch eine Dokumentation (sprich: Hilfe). Am besten für die ganze Win32-API von Jedi?
Ist ja so fürchterbar viel...

Gruß
Mattze

Das nennt sich Platform SDK und ist von Microsoft erhaeltlich.

Mattze 24. Jul 2007 20:39

Re: Bereitgestelltes Vlume?
 
Hallo,

das Plattform SDK suche ich raus. (Ich glaube, das habe ich mir eben geholt: PSDKx86.exe mit 16 CABs. Auch scööön viel... ;-()

Aber noch etwas zu meinem Problem.
Es scheint tatsächlich über die Attribute zu gehen!
Ich habe im Internet eben etwas gefunden.
Für "ein Verzeichnis, das ein Laufwerk ist" wird als Attribut $400 (+faDirectory und evtl die anderen Attribute. Bei mir auch faReadOnly, aber ob das immer so ist?) zurückgeliefert. (Auch bei der Delphi-Funktion.)

Warum das so ist und wie dieses Attribut heißt, weiß ich aber auch nicht.

Gruß
Mattze


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf