| 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: |