Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Расширение набора команд Mass Storage
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
kernel32ddl
Возникла следующая проблема:
Необходимо добавить в набор Mass Storage команд свою служебную команду. Со стороны устройства нет никаких проблем, очень легко можно запрограммировать его на обработку дополнительной команды. Вопрос в том как можно будет отправить данную команду на устройство из-под винды (из свой программы)?
Возможно ли каким-то образом "подключиться" к Mass Storage драйверу и втиснуть свою команду в стандартный обмен драйвера с устройством?
vmp
Цитата(kernel32ddl @ Nov 23 2006, 16:23) *
Необходимо добавить в набор Mass Storage команд свою служебную команду.


Как один из вариантов - команда чтения или записи с фиксированным номером сектора, лежащим далеко за пределами объявленного размера устройства.
Экспериментально не проверял.
Либо "магическая" последовательность команд, которая вряд ли встретится в реальной работе, после которой команды чтения и записи переключаются на служебные.
Oldring
Цитата(kernel32ddl @ Nov 23 2006, 16:23) *
Возможно ли каким-то образом "подключиться" к Mass Storage драйверу и втиснуть свою команду в стандартный обмен драйвера с устройством?


Операционка - NT?

По идее как раз для таких задач существуют драйвера - фильтры. Сам я не пробовал - посмотрите в DDK. Теоретически если подставить фильтр под class driver'ом можно будет делать с обменом что угодно.
kernel32ddl
Цитата
Как один из вариантов - команда чтения или записи с фиксированным номером сектора, лежащим далеко за пределами объявленного размера устройства.

Как вариант я данную возможность рассматривал, вот только вопрос в том, как винда отнесется к прямому обращению к диску?
Цитата
По идее как раз для таких задач существуют драйвера - фильтры. Сам я не пробовал - посмотрите в DDK. Теоретически если подставить фильтр под class driver'ом можно будет делать с обменом что угодно.

Вариант очень красивый, но только я совершенный профан в DDK sad.gif , боюсь что мне это будет не по зубам, а сроки уже поджимают - разбираться некогда sad.gif .

Большое спасибо за помощь! Попробую осуществить первый вариант.
kernel32ddl
В несуществующий сектор писать не получилось sad.gif - винда не позволяет. Попробую пометить существующий сектор как битый и писать в него, должно получиться.
sambotey
Цитата(kernel32ddl @ Nov 23 2006, 19:23) *
Со стороны устройства нет никаких проблем, очень легко можно запрограммировать его на обработку дополнительной команды.

А я вот только сейчас начал разбираться с Mass Storage. За основу взял пример из IAR'a для LPC1768. Подключиться к карточке получилось. Но вот где взять описание команд для связи с драйвером хоста?
NickB
Подобное расширение используют например для управления фотаппаратом. Например к-то видел программу для Pentax И даже с исходниками К сож утеряна ссылка
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.