Summary: | Невозможность регистрации Магистрали | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Devaev Maxim <mdevaev> |
Component: | Общее | Assignee: | Александр Морозов <amorozov> |
Status: | CLOSED LATER | QA Contact: | Денис Баранов <baraka> |
Severity: | normal | ||
Priority: | P4 | CC: | baraka, sonner |
Version: | unspecified | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | 11738 | Связано с: | |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 4592 |
Description
Devaev Maxim
2009-11-11 17:17:02 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. Написал небольшой тестовый драйвер для 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: |