Ошибка при запуске W23 #87
Добавил зависимости.
Начиная с версии 1.0.10, не грузится драйвер consult.vxd с ошибкой ERROR_INVALID_PARAMETER 87 (0x57) The parameter is incorrect.
Проблема вызвана вот этим коммитом: 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
А у нас CreateFile для открытия драйвера вызывается с параметром creation == 0
В WinXP CreateFile("test.txt", 0, 0, NULL, 0, 0, NULL) возвращает ошибку ERROR_INVALID_PARAMETER, как и в Wine. Возможно, в Win98 по-другому. Сделал хак, делающий равный нулю 5-й параметр CreateFile эквивалентным использованию OPEN_EXISTING. Патч: kernel32: Fix eterbug #3116.
нужно проверить.
На 1.0.12 все работает.
> Патч: kernel32: Fix eterbug #3116. Откатил этот патч, т.к. в апстрим приняли коммит "kernel32: Make CreateFile called with creation == 0 work when opening a vxd in win9x mode."