Fragen zu "Laufwerken" und mehr

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benubi
Beiträge: 187
Registriert: 22.10.2004 17:51
Wohnort: Berlin, Wedding

Fragen zu "Laufwerken" und mehr

Beitrag von Benubi »

Hallo liebe Leser,

mich beschäftigt derzeit eine spannende Frage, zu der ich leider keine richtigen Infos finde: (virtuelle) Laufwerke.

Wie könnte ich ein virtuelles Laufwerk einbinden, bzw. meinem "windows" vortäuschen, dass ein Laufwerk existiert (festplatte, cd, usb-stick egal was), und dass das OS dann auf die procs von meiner "dll" oder Ähnlichem zugreift, um sich die verzeichnisliste (etc.) anzeigen zu lassen ?

müsste ich dafür treiber schreiben ? :freak:
wie funktioniert das !? :shock:

ich möchte ja kein kompliziertes Dateisystem aufbauen, sondern dem OS lediglich die Standard-Zugriffsmöglichkeiten bieten, wie sie in der Api-Hilfe beschrieben sind; ich denke dass auf den USB-Sticks z.B. die Dateisysteme auch nicht sehr kompliziert aufgebaut sein müssen, oder irre ich mich da?

Darf mein Programm selbstständig "interne Handles" vergeben, oder muss es diese vom OS übernehmen, wenn der Anwender eine Datei in meinem virtuellem Laufwerk öffnen möchte ?

Ich bin für jeden Tipp dankbar!


Edit: ich benutze win2000 - antworten dürfen aber auch mit anderen OS zu tun haben. :)
Benutzeravatar
BitHero
Beiträge: 22
Registriert: 17.09.2004 14:13
Wohnort: Burgwedel
Kontaktdaten:

Eine Möglichkeit

Beitrag von BitHero »

Da gibt es z.B. - wenn ich dich richtig verstanden habe- die Möglichkeit ein bestimmtes Verzeichnis auf ein "Laufwerk" das physisch nicht existiert umzulenken, so wir z.B. aus C:\Programme\Simultan für Windows das Laufwerk Z: auf das man dann eben so zugreift....
wenn du das willst - dafür gibts den Befehl

Code: Alles auswählen

DefineDosDevice_(0 ,"M:","C:\Windows");
zum Erstellen...
schau dich mal um...hier im Forum unter...API's gabs einen ähnlichen Beitrag mit einer passenden Antwort...der Autor des Threads war tft.
Schau mal durch
GreetZ Marty
orange-blue
Beiträge: 556
Registriert: 04.09.2004 22:23
Kontaktdaten:

Beitrag von orange-blue »

Hey das is cool! :D
aber ich glaub das ist nicht genau das was benubi will.
Sowas ist glaub ich ziehmlich schwierig, da ja bei einem viruellen laufwerk auch Treiber erkannt werden.
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Re: Eine Möglichkeit

Beitrag von Leo »

BitHero hat geschrieben:Da gibt es z.B. - wenn ich dich richtig verstanden habe- die Möglichkeit ein bestimmtes Verzeichnis auf ein "Laufwerk" das physisch nicht existiert umzulenken, so wir z.B. aus C:\Programme\Simultan für Windows das Laufwerk Z: auf das man dann eben so zugreift....
wenn du das willst - dafür gibts den Befehl

Code: Alles auswählen

DefineDosDevice_(0 ,"M:","C:\Windows");
zum Erstellen...
schau dich mal um...hier im Forum unter...API's gabs einen ähnlichen Beitrag mit einer passenden Antwort...der Autor des Threads war tft.
Schau mal durch
GreetZ Marty
Joa jetz hab ich das gemacht.. doch wie bekomm ich das jetz wieder weg? O.o
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Eine Möglichkeit

Beitrag von DarkDragon »

Leo hat geschrieben:
BitHero hat geschrieben:Da gibt es z.B. - wenn ich dich richtig verstanden habe- die Möglichkeit ein bestimmtes Verzeichnis auf ein "Laufwerk" das physisch nicht existiert umzulenken, so wir z.B. aus C:\Programme\Simultan für Windows das Laufwerk Z: auf das man dann eben so zugreift....
wenn du das willst - dafür gibts den Befehl

Code: Alles auswählen

DefineDosDevice_(0 ,"M:","C:\Windows");
zum Erstellen...
schau dich mal um...hier im Forum unter...API's gabs einen ähnlichen Beitrag mit einer passenden Antwort...der Autor des Threads war tft.
Schau mal durch
GreetZ Marty
Joa jetz hab ich das gemacht.. doch wie bekomm ich das jetz wieder weg? O.o
Bei mir wirds nach nem Neustart entfernt, kannste aber auch so machen:

Code: Alles auswählen

DefineDosDevice_(#DDD_REMOVE_DEFINITION  ,"M:","C:\Windows")
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten