Я проверяю съемные устройства с DriverInfo.isReady, но всякий раз, когда я подключаю поврежденное USB-устройство, оно блокирует все потоки и застревает. Я пытался с try catch, но даже пытался перехватить его зависание. Я не могу даже получить общее пространство устройства.коды, связанные с неработающим USB-устройством и зависанием интерфейса Windows.
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
Console.WriteLine("Drive {0}", d.Name);
Console.WriteLine(" Drive type: {0}", d.DriveType);
if (d.IsReady == true) # stuck here
{
Console.WriteLine(" Volume label: {0}", d.VolumeLabel);
Console.WriteLine(" File system: {0}", d.DriveFormat);
Console.WriteLine(
" Available space to current user:{0, 15} bytes",
d.AvailableFreeSpace);
Console.WriteLine(
" Total available space: {0, 15} bytes",
d.TotalFreeSpace);
Console.WriteLine(
" Total size of drive: {0, 15} bytes ",
d.TotalSize);
}