[Bug 16592] Ford service manual viewer fails to detect CD
wine-bugs at winehq.org
wine-bugs at winehq.org
Sat May 15 03:44:22 CDT 2010
http://bugs.winehq.org/show_bug.cgi?id=16592
HQ <cs.tech at comcast.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |cs.tech at comcast.net
--- Comment #26 from HQ <cs.tech at comcast.net> 2010-05-15 03:44:21 ---
>Looks like it might be fixed already with
> f7e6777e6e19ca3be4b84f98baf22ef53ab19f96. Please retest with 1.1.36.
Still broken in 1.1.44. Also, this bug affects many of the Ford service
apps--not just the version and model-year described here.
> Hmm. I suspect this case (root = "\\:") is undocumented and/or old, but I can't
> prove it. The application came out in the mid-to-late 90's so it's probably
> intended for Win 95 or 98, although I know it also works on Win2K.
> I think the application uses the 16-bit API
The viewer is a 16-bit application which (in 32-bit Windows) runs on the 16-bit
virtual machine (NTVDM.EXE).
> I guess the viewer starts up a dialog with a text like:
> Please insert volume 1993-1994 Truck CD-ROM - Revision 11.0\n into any CD-ROM
> Drive.\n\nPress OK to continue, Cancel to abort.
> Correct? What is the exact text?
Correct. But the message only appears after you choose a chapter from the
index (which is copied to the HD by the installer). The viewer application
(VIEW16.EXE) does not check for the CD immediately at launch.
> Could you search the registry (and .ini files) for any reference to "\:" ?
My Windows box does not have this string in the registry and I see no evidence
that the Ford application directly depends on registry access. The viewer can
be configured by editing the INFO1.INI file in C:\FORD\PUBS\PROGRAMS. The
default behavior is to search for the service library files on any removable
drive, as indicated by this section of the INI file:
[dealer_env]
reader=4
*=REMOVEABLE,*,any CD-ROM Drive
Though not normally necessary, it is possible to specify a unique DOS device by
replacing the leading asterisk with the device letter. For example:
D=REMOVEABLE,*,any CD-ROM Drive
I think the syntax here is application-specific, not a global standard (and
again, it works in Windows but not in Wine). It's also possible to browse the
CD through the Wine alias "d/" and the Wine file manager (which confirms that
the CD is mounted properly and recognized by the host operating system).
> I had not turned on "file" tracing in my earlier debugging, but I now notice
> that before the call to GetVolumeInformationW there seems to be some attempt to
> create a file L"\\\\.\\\\:". I don't understand the significance of this
> attempt - I expect it would fail on Windows because the CDROM is readonly, but
> maybe there is some strange magic going on. I don't have experience with the
> Windows API so maybe it's some idiom familar to Win programmers.
CreateFile and GetVolumeInformation are Win32 functions, so I guess they are
translated from the original 16-bit equivalent by Wine's own VDM. Maybe this
CD-ROM access bug is a function call translation error in the Wine VDM. I dont
know anything about Wine's 16-bit virtual machine. For the sake of
compatibility testing, can I copy the Microsoft virtual machine from my Windows
installation disc and make Wine use that instead?
For reference:
"CreateFile Function creates or opens a file or I/O device. The most commonly
used I/O devices are as follows: file, file stream, directory, physical disk,
volume, console buffer, tape drive, communications resource, mailslot, and
pipe. The function returns a handle that can be used to access the file or
device for various types of I/O depending on the file or device and the flags
and attributes specified. To perform this operation as a transacted operation,
which results in a handle that can be used for transacted I/O, use the
CreateFileTransacted function."
http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx
Some other posts which may be related (or inspirational):
__________
For review... CD interfaces in wine
not ready yet for cvs inclusion (yet), this patch implements two things:
- it replaces the wine internal & proprietary cdrom interface (used in MCICDA
and MSCDEX/int2F) with the proper win32 ioctl:s calls
- it allows opening any device with CreateFile (using the name "\\.\E:")
(this is still very hackish, but not worse than what already existed)
http://www.winehq.org/pipermail/wine-devel/2001-December/003037.html
___________
[PATCH] ntdll: Implement CDROM_GetDeviceNumber() on Mac OS.
http://marc.info/?l=wine-patches&m=125616565804390&w=2
___________
kernel32: Fix GetVolumeInformation[AW] to require trailing \.
http://www.winehq.org/pipermail/wine-cvs/2009-April/055027.html
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list