определить по букве диска, что диск USB

Всемприветэтоя!
Дата: 29.04.2011 18:08:18
Как определить по букве диска, что этот диск является USB носителем, например флешка?

GetDriveType('h:') = DRIVE_REMOVABLE - не даёт гарантию, что диск USB.

Есть ли надежный способ ?
wellwell
Дата: 29.04.2011 18:24:30
Надо курить семейство функций SetupDi***********, подробнее тут.
Всемприветэтоя!
Дата: 29.04.2011 21:42:32
там курить и курить
AleksVoronezh
Дата: 30.04.2011 00:28:54
Приветствую!

Странно, вроде


integer(LogDrives) := GetLogicalDrives;
  for ii := 0 to 25 do
    if (ii in LogDrives) then begin
      s := chr(ii + 65) + ':\';
      if GetDriveType(PChar(s))=DRIVE_REMOVABLE then
          Begin ........

работало с флешкой, а с локальными дисками и внешним USB винчестером - точно нет!
wellwell
Дата: 30.04.2011 07:17:58
AleksVoronezh
Приветствую!
работало с флешкой, а с локальными дисками и внешним USB винчестером - точно нет!


Это зависит от флагов занесеных туда производителем девейса. У меня, например внешний USB HDD определяется как DRIVE_REMOVABLE.