AGB  ·  Datenschutz  ·  Impressum  







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

VolumeMountPoints

Ein Thema von Neutral General · begonnen am 5. Mär 2007 · letzter Beitrag vom 28. Apr 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

VolumeMountPoints

  Alt 5. Mär 2007, 19:57
Hi,

Ich verzweifel noch. Kann mir jemand eindeutig erklären wie ich MSDN-Library durchsuchenSetVolumeMountPoint aufrufe?
Bei MSDN steht zwar ein Beispiel aber sonst stehts im Internet immer anders. Klappen tut beides nicht.

Delphi-Quellcode:
SetVolumeMountPoint('W:\','\C:\Test\') // oder
SetVolumeMountPoint('\C:\Test\','W:\')
GetLastError:

Zitat:
Falscher Parameter.
Delphi-Quellcode:
SetVolumeMountPoint('W:\','\C:\Test') // oder
SetVolumeMountPoint('\C:\Test','W:\')
GetLastError:

Zitat:
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch

Delphi-Quellcode:
GetVolumeNameForVolumeMountPoint(PChar('C:\\'),@Buffer[0],SizeOf(Buffer));
SetVolumeMountPoint('\C:\Test\',Buffer)
Delphi-Quellcode:
GetVolumeNameForVolumeMountPoint(PChar('C:\\'),@Buffer[0],SizeOf(Buffer));
SetVolumeMountPoint(Buffer,'\C:\Test\')
GetLastError:

Zitat:
Das Verzeichnis ist nicht leer.
Und wie das leer ist! -.-

In Buffer steht immer sowas (oder so ähnlich halt):

\\?\Volume{dafc6733-ff88-11d9-b411-806d6172696f}\ Was is da jetzt noch falsch dran ?-.-

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#2

Re: VolumeMountPoints

  Alt 5. Mär 2007, 21:22
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Buffer: array[0..50] of Char;
begin
  if (GetVolumeNameForVolumeMountPoint(PChar('C:\\'), Buffer, SizeOf(Buffer))) then
  begin
    if (CreateDir('C:\\Test\\')) then
    begin
      if (SetVolumeMountPoint('C:\\Test\\', Buffer)) then
      begin
        MessageBox(Application.Handle, 'OK', '', MB_OK);
      end;
    end;
  end;
end;
Bei "SetVolumeMountPoint" ist bei dir die Reihenfolge der Parameter falsch.
Der Pfad zum Mount-Ordner darf kein "\" am Anfang haben.
Der Ordner, in den du mounten möchtest, muss existierten, ggf. vorher anlegen.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: VolumeMountPoints

  Alt 6. Mär 2007, 10:59
Ok danke es geht

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: VolumeMountPoints

  Alt 6. Mär 2007, 11:39
Sry für den Push aber grad is was komisches aufgetaucht... Warum geht das nur mit Ordnern auf C: ?
Bei allen anderen Festplatten geht das nicht o.O

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#5

Re: VolumeMountPoints

  Alt 6. Mär 2007, 18:27
Zeig mal deinen Code, bei mir geht es überall.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: VolumeMountPoints

  Alt 6. Mär 2007, 19:19
Delphi-Quellcode:
function MountDir(Dir: String): Boolean;
var Buffer: Array[0..MAX_PATH] of Char;
    DriveLetter: String;
begin
  Result := false;
  DriveLetter := ExtractFileDrive(Dir) + '\\';
  Dir := StringReplace(Dir,'\','\\',[rfReplaceAll]) + '\\';
  if (GetVolumeNameForVolumeMountPoint(PChar(DriveLetter), Buffer, SizeOf(Buffer))) then
    Result := SetVolumeMountPoint(PChar(Dir),Buffer);
end;
So. Aber kann man nicht auch irgendwie den Inhalt eines Ordners als Festplatte anzeigen lassen?

Mit DefineDosDevice hab ichs probiert:

Delphi-Quellcode:
if not DefineDosDevice(DDD_RAW_TARGET_PATH,'R:','C:\Test\') then
  ShowMessage(SysErrorMessage(GetLastError));
... R: Wird dann auch angezeigt im Explorer aaaber.. Man kann nicht drauf zugreifen...

Dann hab ich mal zuerst C:\Test\ gemountet und dann obigen Quelltext ausprobiert.. Bringt aber auch nix.. Hatte auch mal eine Version wo GetLastError gesagt hat das ein Analysepunkt fehlt.. Damit konnte ich aber nix anfangen

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#7

Re: VolumeMountPoints

  Alt 6. Mär 2007, 21:26
"DefineDosDevice" dient zum Mounten von pysischen Laufwerken, z.B. "C:" auf "\Device\HarddisVolume0".

Das Mounten von Verzeichnissen als eigene Laufwerke hat bei mir auch nicht funktioniert.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: VolumeMountPoints

  Alt 6. Mär 2007, 21:28
Zitat von ste_ett:
Das Mounten von Verzeichnissen als eigene Laufwerke hat bei mir auch nicht funktioniert.
Und wie kann man das machen?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: VolumeMountPoints

  Alt 8. Mär 2007, 13:56
Zitat von Neutral General:
Zitat von ste_ett:
Das Mounten von Verzeichnissen als eigene Laufwerke hat bei mir auch nicht funktioniert.
Und wie kann man das machen?
*PUSH*

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: VolumeMountPoints

  Alt 8. Mär 2007, 14:52
MSDN-Library durchsuchenQueryDosDevice ... nimm das doch endlich mal
Damit kannst du sowas machen, wie auch mit dem "DOS-Befehl" SUBST

Als Beispiel könntest du dir ja mal subst4nt von Olli ansehn.




Und VolumeMountPoint ... fällt dir was an dem Namen auf? ... da geht es um Volumes, also ganze Laufwerke die über 'nen Laufwerksbuchstaben (X:\), oder als Verzeichnis (X_\dir...) gemountet werden sollen ... mit Verzeichnissen is da nüschts.

Verzeichnis als Laufwerk, oder Verzeichnis als anderes Verzeichnis geht damit demnach nicht.

PS: \\?\Volume{dafc6733-ff88-11d9-b411-806d6172696f} dieses ist die "interne" Bezeichning, mit welcher Windows dein Laufwerk, welches bei dir als C:\ gemountet ist verwaltet.
Jedes Volume (Partition) hat soeinen "Namen" und der bleibt "immer" gleich ... ist vorallem praktisch wenn das Volume mal nicht gemountet ist, so hat man dann dennoch 'ne Möglichkeit darauf zuzugreifen u.a.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:36 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