Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Информация о luns устройства(usb)  (Прочитано 6071 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mhael
Новенький

by
Offline Offline

« : 25-12-2011 10:03 » 

Всем привет.  Нельзя сказать, что вопрос по разработке драйвера, но весьма близко к этой теме. Если ближе к WinAPI, то, надеюсь, модераторы перенесут.
У меня есть usb mass storage устройство(типа флэшки), которое поддерживает некоторые scsi команды(т.к. mass storage). Некоторые, т.к. устройство в процессе разработки, в перспективе может поддерживать основную часть scsi запросов. Я общаюсь с ним с помощью SPTI, т.е. отдельный драйвер не писал и писать не хочу. Устройство может по спец. команде добавлять/удалять лун(lun), т.е. показывать и скрывать некое дисковое пространство.
Есть два вопроса, дело происходит в Windows.
1. Как узнать количество лунов(luns) устройства?!
2. Как заставить Windows запросить кол-во лунов устройства, чтобы система обновила у себя эту информацию. Перегружать устройство нельзя, т.к. с ним может кто-то работать в это время.
Хорошо бы обойтись без сторонних библиотек и драйверов..
Заранее спасибо.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 25-12-2011 13:02 » 

попробуйте в этом покопать, это по первому вопросу:
IOCTL_SCSI_GET_ADDRESS

по второму вопросу - навскидку не готов... но где то близко должно быть в поиске по этому ключевому слову...

Добавлено через 1 минуту и 40 секунд:
по второму... может быть
IOCTL_SCSI_RESCAN_BUS

ЗЫ только надо посмотреть - можно ли к ним из приложения по DeviceIOControl стучаться...
« Последнее редактирование: 25-12-2011 13:05 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Mhael
Новенький

by
Offline Offline

« Ответ #2 : 25-12-2011 17:15 » new

Спасибо за ответ, но мне кажется, что это не совсем то. Эти вызовы мне знакомы и по какой-то причине я их отбраковал - подозреваю по той, что устройство не scsi, а просто поддерживает команды scsi (и то не все), ну как обычная флэшка, просто у флэшки вроде всегда только один лун, а тут два надо. И его получается просто нет на шине.  Но, возможно я ошибаюсь, завтра проверю..
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 25-12-2011 18:38 » 

хм... действительно.... кажется с USB может не работать... судя по http://www.rsdn.ru/forum/winapi/468007.all.aspx
- кстати  там пара ссылок есть. на поиск логического диска и т.д. вдруг натолкнет на мысль. да и можно тупо приведенный там код запустить проверить.

другой вариант - WMI покопать что нибудь изWMI Tasks: Disks and File Systems
типа Win32_DiskDrive и подобных.
« Последнее редактирование: 25-12-2011 18:42 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Mhael
Новенький

by
Offline Offline

« Ответ #4 : 26-12-2011 13:47 » 

Может кто-нибудь подскажет, как сказать винде о подключение медии устройством?
Сейчас у нас 2 луна, на второй мы даем винде отлуп, мол устройство не доступно или как-то так. После того, как мы решили поднять второй диск, мы говорим на обращение к второму луну, мол все хорошо, выдаем капасити и т.п. Но винда сама совсем не рвется запрашивать какую-то информацию от второго луна Жаль  Только, если в управлении дисками вручную вызвать обновление.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines