Registriert seit: 29. Mai 2003
Ort: Berlin
87 Beiträge
Delphi 10.2 Tokyo Professional
|
AW: VolumeMountPoints
28. Apr 2014, 17:15
Hi,
Ich verzweifel noch. Kann mir jemand eindeutig erklären wie ich SetVolumeMountPoint 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
hi Neutral General ,
hast du nu rausgefunden wie du die GUID herrausbekommst???
bei mir kommt immer ne fehlermeldung der ntdll.dll.
Delphi-Quellcode:
Function GetVolumeNameForVolumeMountPoint(
lpszVolumeMountPoint: PAnsiChar;
lpszVolumeName: PAnsiChar;
cchBufferLength: DWORD): Boolean;
stdcall;
external 'C:\Windows\SysWOW64\kernel32.dll' name 'GetVolumeNameForVolumeMountPointA';
Delphi-Quellcode:
procedure TForm1.Button21Click(Sender: TObject);
var
vmp : PAnsiChar;
vn : PAnsiChar;
i : cardinal;
begin
vmp := ('D:\\');
//GetVolumeNameForVolumeMountPoint(vmp, vn, i);
GetVolumeNameForVolumeMountPoint(vmp,vn, i);
// GetVolumeNameForVolumeMountPoint(PChar('C:\\'),@Buffer[0],SizeOf(Buffer));
ListBox2.Items.Add( string( vn));
end;
|
|
Zitat
|