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

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

by
Offline Offline

« Ответ #30 : 18-04-2012 19:13 » 

Разобрался с установкой фильтра.

Устанавливаю фильтр на usbhub как LowerFilters,получаю все запросы URB...

Так вот вопрос - при копировании данных с флэшки я не получаю URB (URB_BULK_OR_INTERRUPT_TRANSFER) с данными,в случае записи данных на флэшку я получаю ти данные в URB...

Народ помогите разобраться,кто в теме,уже запарился...
Записан
Ochkarik
Модератор

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

« Ответ #31 : 18-04-2012 19:28 » 

кэш возможно? поищи старые посты тов. resource пару лет назад, по-моему у него что то похожее было... может поможет...
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
AlexCasual
Помогающий

by
Offline Offline

« Ответ #32 : 19-04-2012 08:44 » 

Блин,что-то не нашёл я ничего от resource...

Наверное,дело всё же где-то в кэше файловой системы...

Когда я первый раз копирую данные с флэшки,то всё ок - вижу данные,но когда уже затем копирую данные с,то не вижу данных...
Но я не особо силён в фаловых кэшах...
« Последнее редактирование: 19-04-2012 09:36 от AlexCasual » Записан
Ochkarik
Модератор

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

« Ответ #33 : 19-04-2012 09:05 » 

по пользователю надо искать.
но в любом случае... для проверки. в составе утилит от SysInternals были и те, что принудительно скидывают кэш. не мог он в данном случае...?
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
AlexCasual
Помогающий

by
Offline Offline

« Ответ #34 : 19-04-2012 09:39 » 

А в какой момент происходит сброс кэша и каков механизм этого действа? - Получается,что при повторном копировании данных с флэшки,данные уже находятся на системе и поэтому не копируются повторно? Но как это определяется?
Записан
Ochkarik
Модератор

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

« Ответ #35 : 19-04-2012 10:00 » 

ну... как... тут доку надо читать)
вы поэкспериментируйте)


Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
AlexCasual
Помогающий

by
Offline Offline

« Ответ #36 : 28-04-2012 06:14 » 

Вопрос знатокам - при записи файлов на Usb я могу видеть в перехватываемых urb данные файла,но вот ИМЯ файла нигде не светиться...может быть кто-нибудь знает как и на каком этапе происходит создание записи в FAT32 (флэшка отформатированна в FAT32) с именем файла,ведь как-то файл под таким именем создаётся на флэшке?

Владеет кто-нибудь необходимой информацией?

По идее запись с именем файла тоже должна как-то проскакивать в URB при физической записи или как-то нет?
Записан
Ochkarik
Модератор

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

« Ответ #37 : 28-04-2012 07:49 » 

инфа на тему имени - где то в форуме уже проскакивала... поищите. хотя может тогда шла речь не о физической записи...
« Последнее редактирование: 28-04-2012 07:51 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
zubr
Гость
« Ответ #38 : 28-04-2012 08:26 » 

ZwQueryObject
Записан
Ochkarik
Модератор

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

« Ответ #39 : 28-04-2012 09:31 » 

zubr, а при чем тут оно? и какая связь с URB запросами?
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
AlexCasual
Помогающий

by
Offline Offline

« Ответ #40 : 28-04-2012 10:01 » 

Как бы понятно,что с разделами FAT32 работает disk.sys,возможно именно он и делает запись,но почему тогда я не вижу это информации в URB или там какие-то свои жёсткие нюансы с монтированием ФС?
Короче ребята,кто в теме?)
Записан
zubr
Гость
« Ответ #41 : 28-04-2012 10:25 » 

Создаем обработчик на  IRP_MJ_CREATE -
Цитата
The I/O Manager sends the IRP_MJ_CREATE request when a new file or directory is being created, or when an existing file, device, directory, or volume is being opened. Normally this IRP is sent on behalf of a user-mode application that has called a Microsoft Win32 function such as CreateFile or on behalf of a kernel-mode component that has called IoCreateFile, IoCreateFileSpecifyDeviceObjectHint, ZwCreateFile, or ZwOpenFile. If the create request is completed successfully, the application or kernel-mode component receives a handle to the file object.


Ну а в нем получаем указатель на файловый объект. Может там и не надо ZwQueryObject. Не помню, возможно в структуре FileObject есть прямой указатель на имя файла.
Записан
Ochkarik
Модератор

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

« Ответ #42 : 28-04-2012 11:03 » 

откуда там объект, если мы находимся ниже usbhub как LowerFilters?

Добавлено через 3 минуты и 6 секунд:
AlexCasual, я не очень в теме... попробуй по разделу IFS посмотреть - что и как там...
« Последнее редактирование: 28-04-2012 11:06 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
oleshii
Участник

ru
Offline Offline

« Ответ #43 : 25-06-2012 14:17 » 

Ребята, НИКАКИХ FileObjects с именами в драйверах нижнего уровня вы не увидите. Запрос файловой системы идет до PartMgr, оттуда в disk.sys,
который дробит запрос на соосветствие границам диска и секторов, формируя SCSI запрос.  Файлы - абстракция ВЕРХНЕГО уровня, с ней работают
FSD и FS Filters, "дрова" нижнего уровня НИЧЕГО о файлах на диске не знают. Туда "летит" уже другой IRP, а первоначальный - "стынет" в очереди.
Этот механизм был описан еще в первых DDK для NT-like OS. Оттуда запрос уходит в USBSTOR, который формирует из него URB-request.
Yet once again - нет на "нижнем" уровне никаких объектов файлов (и, соответственно, их имен - тоже). URB-request от USBSTOR идет в хаб, а оттуда-
в хост-контроллер, как USB_BULK_OR_INTERRUPT_REQUEST
Записан
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines