Получение информации о диске
|
function GetVolumeInfoFVS(const Dir:string; var FileSystemName,VolumeName:string;var Serial:longint):boolean; {Получение информации о диске Dir - каталог или буква требуемого диска FileSystemName - название файловой системы VolumeName - метка диска Serial - серийный номер диска В случае ошибки функция возвращает false} var root:pchar; res:longbool; VolumeNameBuffer,FileSystemNameBuffer:pchar; VolumeNameSize,FileSystemNameSize:DWord; VolumeSerialNumber,MaximumComponentLength,FileSystemFlags:DWORD; s:string; n:integer; begin n:=pos(':',Dir); if n>0 then s:=copy(Dir,1,n+1) else s:=s+':'; if s[length(s)]=':' then s:=s+'\'; root:=pchar(s); getMem(VolumeNameBuffer,256); getMem(FileSystemNameBuffer,256); VolumeNameSize:=255; FileSystemNameSize:=255; res:=GetVolumeInformation(Root,VolumeNameBuffer,VolumeNameSize ,@VolumeSerialNumber, MaximumComponentLength, FileSystemFlags ,FileSystemNameBuffer,FileSystemNameSize); Result:=res; VolumeName:=VolumeNameBuffer; FileSystemName:=FileSystemNameBuffer; Serial:=VolumeSerialNumber; freeMem(VolumeNameBuffer,256); freeMem(FileSystemNameBuffer,256); end; |