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

Отработанное время:
Продуктивное время:
Bug 3116 - Не загружается VXD-драйвер для Консультанта   Make a simular bug
Summary: Не загружается VXD-драйвер для Консультанта
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Общее (show other bugs)
Version: 1.0.10
Hardware: PC All
: P4 critical
Target Milestone: ---
Assignee: Денис Баранов
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 1217
  Show dependency treegraph
 
In work:
Reported: 2008-12-12 19:49 MSK by Глеб Кордюков
Modified: 2012-03-16 15:25 MSK (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Глеб Кордюков 2008-12-12 19:49:30 MSK
Ошибка при запуске W23 #87
Comment 1 Глеб Кордюков 2008-12-12 19:50:50 MSK
Добавил зависимости.
Comment 2 Vitaly Lipatov 2008-12-16 16:37:05 MSK
Начиная с версии 1.0.10, не грузится драйвер consult.vxd с ошибкой
ERROR_INVALID_PARAMETER   87 (0x57) The parameter is incorrect.
Comment 3 Александр Морозов 2008-12-16 18:13:22 MSK
Проблема вызвана вот этим коммитом:
commit 7c6302b7ff5571a5119a7dea2f946e043b956156
Author: Alexandre Julliard <julliard@winehq.org>
Date:   Thu Oct 30 10:33:45 2008 +0100

    kernel32: Only try to open a VxD if opening a normal device failed.

Вызов VXD_Open теперь находится после проверки

if (creation < CREATE_NEW || creation > TRUNCATE_EXISTING)
{
    SetLastError( ERROR_INVALID_PARAMETER );
    return INVALID_HANDLE_VALUE;
}

Надо также не забывать о том, что установленный wine берёт consult.vxd.so из /usr/lib/wine, а собранный из wine/dlls/consult.vxd
Comment 4 Vitaly Lipatov 2008-12-17 15:17:19 MSK
А у нас CreateFile для открытия драйвера вызывается с параметром creation == 0
Comment 5 Александр Морозов 2009-01-20 15:34:57 MSK
В WinXP CreateFile("test.txt", 0, 0, NULL, 0, 0, NULL) возвращает ошибку ERROR_INVALID_PARAMETER, как и в Wine. Возможно, в Win98 по-другому.

Сделал хак, делающий равный нулю 5-й параметр CreateFile эквивалентным использованию OPEN_EXISTING.

Патч: kernel32: Fix eterbug #3116.
Comment 6 Глеб Кордюков 2009-01-22 12:41:13 MSK
нужно проверить.
Comment 7 Глеб Кордюков 2010-10-06 15:31:39 MSD
На 1.0.12 все работает.
Comment 8 Александр Морозов 2012-03-16 15:25:54 MSK
> Патч: kernel32: Fix eterbug #3116.
Откатил этот патч, т.к. в апстрим приняли коммит "kernel32: Make CreateFile called with creation == 0 work when opening a vxd in win9x mode."