Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 4434 - Невозможность регистрации Магистрали   Make a simular bug
Summary: Невозможность регистрации Магистрали
Status: CLOSED LATER
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Общее (show other bugs)
Version: unspecified
Hardware: PC All
: P4 normal
Target Milestone: ---
Assignee: Александр Морозов
QA Contact: Денис Баранов
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 4592
  Show dependency treegraph
 
In work:
Reported: 2009-11-11 17:17 MSK by Devaev Maxim
Modified: 2011-06-06 19:57 MSK (History)
2 users (show)

See Also:
Заявки RT: 11738
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Devaev Maxim 2009-11-11 17:17:02 MSK
Программа - "Магистраль". Не показывается
информация в окне справки, ни дерево
навигации, ни текст.
Демо-версия:
http://www.sigma-soft.ru/download/install.shtml?prog=ata32

Бутылка: rt/11738
Для воспроизведения следует установить
"./dosdevices/p\:/Windows/sigma-soft/magistral/Setup.exe", все
установочные параметры оставить по
умолчанию. Затем запустить "./dosdevices/c\:/Program\
Files/Magistral/ata32.exe". При первом запуске возможно
зависание, в этом случае следует нажать
Ctrl-C, программа пропустит текущую
выполнаемую задачу и будет запускаться
дальше.
При активации "Справка"->"О программе" ожидание бесконечное. При нажатии "Отмена" не вычисляется идентификационный код компьютера. В следдствие этого становится невозможной регистрация программы.
Comment 1 Александр Морозов 2009-12-23 20:58:33 MSK
При установке программы ставится драйвер neosigma.sys, который падает при работе Магистрали с ним: при запуске через wine - на нереализованной функции ExSystemTimeToLocalTime, при запуске через ww - в wine_nt_to_unix_file_name (из-за того, что в NtCreateFile вместо имени файла передаётся какой-то мусор). То, что при запуске через wine не падает в wine_nt_to_unix_file_name, видимо, просто везение. Перед падением драйвер много раз пытается выполнить ioctl с кодом SMART_RCV_DRIVE_DATA.
Comment 2 Александр Морозов 2009-12-25 20:28:52 MSK
Написал небольшой тестовый драйвер для SMART_RCV_DRIVE_DATA: wine-etersoft-devel/windrv/drv_4434. Модифицировал WINE так, чтобы возвращалось то же, что и в Windows, но это вроде бы ничего не изменило.

Если модифицировать NtCreateFile так, чтобы на нём не происходило падения, то дальше neosigma.sys пытается получать указатели на устройства \Device\ScsiPort0, ..., \Device\ScsiPort7. В WINE эти устройства не создаются. На машине winxp есть \Device\ScsiPort0 и 1, являющиеся симлинками на \Device\Ide\IdePort0 и 1. Если создать устройство \Device\ScsiPort0, то neosigma.sys попытается выполнить для него IOCTL_SCSI_MINIPORT.

После обращения к драйверу Магистраль пытается открыть "\\\\.\\Scsi\x1d:". В данном пути смущает символ \x1d. На машине winxp существуют устройства \\.\Scsi0: и \\.\Scsi1: