GetVolumeInformation на Делфи

ranet

я не спец по Делфи, кто работал с этой функцией, запостити плз пример вызова, никак не могу понять каких типов параметры.
VB
Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
P.S. запостил сначала по ошибке в Study

gopnik1994

сигнатура больше похожа на Visual Basic....

gopnik1994

сорри, невнимательно прочитал вопрос
похоже, это будет выглядеть так:
function GetVolumeInformation(lpRootPathName: PChar; lpVolumeNameBuffer: PChar; nVolumeNameSize: Integer; var lpVolumeSerialNumber: Integer, var lpMaximumComponentLength: Integer; var lpFileSystemFlags: Integer, lpFileSystemNameBuffer: PChar; nFileSystemNameSize: Integer): Boolean;

gopnik1994

следовательно:


var
Path: String;
VolNameBuf: array of Char;
SerNum: Ineteger;
MaxFilenameLen: Integer;
Flags: Cardinal;
FileSystemNameBuf: array of Char;
begin
Path := '\\MyServer\MyShare';
GetMem(VolNameBuf, 256);
GetMem(FileSystemNameBuf, 256);
try
if GetVolumeInformation(PChar(Path VolNameBuf, 256, SerNum, MaxFilenameLen, Flags, FileSystemNameBuf, 256) then
begin
// do something
end;
finally
Release(VolNameBuf, 256);
Release(FileSystemNameBuf, 256);
end;
end;

Belladonna

спасибо, попробую

Belladonna

фигня только в том что API GetVolumeInformation возвращает серийный номер диска, он и нужен. А куда с этим булеаном? Может тогда переформулировать вопрос, как на Delphi узнать серийный номер диска

Belladonna

спасибо за ответ, а фигню сморозил

Belladonna

спасибо за ответ, попробовал - не работает. та же фигня что и раньше - делфя требует pchar вместо string - типа ошибку выдает, я подсовывал ей этот смый пчар но сама api функция всегда возвращает логический ноль т.е. ниче что нужно не возвращает, если исходные значения обнулить то КОМП (не только делфя) виснет. Сторанно это все - стандартная api функия - раньше с ними прблем не было.

gopnik1994

странно это в где конкретно ошибку выдает?
Оставить комментарий
Имя или ник:
Комментарий: