Home » Tipps & Tricks » System » Hardware » Namen einer Partition ermitteln

Namen einer Partition ermitteln

Folgende Funktion gibt den Namen einer Partition zurück. Dazu muss der Funktion der Laufwerksbuchstabe als Parameter übergeben werden. Ist das Laufwerk nicht vorhanden oder kann der Name aus anderweitigen Gründen nicht ermittelt werden, kommt es zu einer Exception.

function GetPartitionName(const ADrive: Char): String;
var
  unused: Cardinal; //oder Integer (Delphi 3)
  buffer: array[0..19] of Char;
begin
  Result:='';
  if (GetDriveType(PChar(Format('%S:',[ADrive]) ) ) >1) and
     (GetVolumeInformation(PChar(ADrive+':'),
                           @buffer[0], SizeOf(buffer),
                           nil,
                           unused,
                           unused,
                           nil,
                           0)) then
    Result := buffer
  else
    RaiseLastOSError;// Bis D5 RaiseLastWin32Error;
end;

Kern der Funktion ist der Aufruf von GetVolumeInformation. Weitere Informationen zu der Funktion finden Sie in der PSDK.Folgender Aufruf gibt den Namen der Partition von Laufwerk C zurück:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption:=GetPartitionName('C');
end;