реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
kernel32ddl
сообщение Nov 23 2006, 16:23
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526



Возникла следующая проблема:
Необходимо добавить в набор Mass Storage команд свою служебную команду. Со стороны устройства нет никаких проблем, очень легко можно запрограммировать его на обработку дополнительной команды. Вопрос в том как можно будет отправить данную команду на устройство из-под винды (из свой программы)?
Возможно ли каким-то образом "подключиться" к Mass Storage драйверу и втиснуть свою команду в стандартный обмен драйвера с устройством?
Go to the top of the page
 
+Quote Post
vmp
сообщение Nov 23 2006, 16:34
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070



Цитата(kernel32ddl @ Nov 23 2006, 16:23) *
Необходимо добавить в набор Mass Storage команд свою служебную команду.


Как один из вариантов - команда чтения или записи с фиксированным номером сектора, лежащим далеко за пределами объявленного размера устройства.
Экспериментально не проверял.
Либо "магическая" последовательность команд, которая вряд ли встретится в реальной работе, после которой команды чтения и записи переключаются на служебные.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Nov 23 2006, 16:50
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



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


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

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


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
kernel32ddl
сообщение Nov 24 2006, 10:01
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526



Цитата
Как один из вариантов - команда чтения или записи с фиксированным номером сектора, лежащим далеко за пределами объявленного размера устройства.

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

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

Большое спасибо за помощь! Попробую осуществить первый вариант.
Go to the top of the page
 
+Quote Post
kernel32ddl
сообщение Nov 25 2006, 13:35
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526



В несуществующий сектор писать не получилось sad.gif - винда не позволяет. Попробую пометить существующий сектор как битый и писать в него, должно получиться.
Go to the top of the page
 
+Quote Post
sambotey
сообщение Oct 7 2011, 06:28
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 25-08-11
Пользователь №: 66 868



Цитата(kernel32ddl @ Nov 23 2006, 19:23) *
Со стороны устройства нет никаких проблем, очень легко можно запрограммировать его на обработку дополнительной команды.

А я вот только сейчас начал разбираться с Mass Storage. За основу взял пример из IAR'a для LPC1768. Подключиться к карточке получилось. Но вот где взять описание команд для связи с драйвером хоста?
Go to the top of the page
 
+Quote Post
NickB
сообщение Jan 7 2012, 09:47
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 22-06-04
Пользователь №: 102



Подобное расширение используют например для управления фотаппаратом. Например к-то видел программу для Pentax И даже с исходниками К сож утеряна ссылка
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 02:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01425 секунд с 7
ELECTRONIX ©2004-2016