Управление дисководом

Как проверить готовность диска A:?

function DiskInDrive(const Drive: char): Boolean;
var
  DrvNum: byte;
  EMode: Word;
begin
  Result := false;
  DrvNum := Ord(Drive) - Ord('A') + 1;
  EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
    if DiskSize(DrvNum) = -1 then Result := true
    else MessageBeep(0);
  finally
    SetErrorMode(EMode);
  end;
end;