Тема: CD или DVD
Показать сообщение отдельно
  #1  
Старый 20.10.2009, 20:39
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию CD или DVD

Всем привет.
Весь день бъюсь, пока не могу решить проблему.

Есть некоторый привод в системе. Пусть будет DVD.
Так вот - как определить какой диск в нем стоит - CD или DVD?

Функция GetDiskFreeSpaceEx дает все-таки размер информации на диске, а не полный размер диска.
Функция DeviceIOCOntrol с параметром IOCTL_DISK_GET_LENGTH_INFO работает аналогично GetDiskFreeSpaceEx (в части размера диска).
Функция DeviceIOCOntrol с параметром IOCTL_STORAGE_GET_MEDIA_TYPES_EX дает ти ПРИВОДА, а не диска в нем. А если лезть глубже в структуру, которая возвращается, то вообще дает полную муть - при вставленном DVD возвращает 2 записи (одна, типа, смонтирована, вторая - нет) и обе - CD.

Осталась только одна мысль - обращаться к ATAPI...

Может кто знает как определить ти ДИСКА в приводе?
Ответить с цитированием