Problem with GetVolumeInformation
Chris McKenzie
cjmckenzie at ucdavis.edu
Thu Apr 22 21:26:08 CDT 2004
The refers to the 2004-03-09 ChangeLog, specifically:
* dlls/kernel/Makefile.in, dlls/kernel/volume.c,
dlls/ntdll/file.c,
documentation/samples/config, documentation/wine.conf.man,
files/drive.c, include/drive.h, include/winnt.h:
Reimplemented GetVolumeInformation and SetVolumeLabel; volume label
and serial number are now stored in the filesystem instead of in the
config file (partly based on a patch by Eric Pouech).
GetVolumeInformation's new implementation has 2 problems:
1. For software that was previously registered with a "made up" serial
number via the "serial=" directive in the config file, the software (for
me Altera MaxPlus) will no refuse to run claiming a change in serial.
2. If the function fails to claim a serial number (What actually _did_
happen with me) it will fall back on *serial=0. In my opinion this does
not seem reasonable.
I propose two options for wineconfig. First, one that says
UseConfigSerial = [Y/N]
Which will use the serial number in the config file and ignore the one on
disk (This is useful for people that registered their software before the
new function implementation)
And the second option will be to reinstate the
serial=
for the drive descriptions. This should be the fallback serial number if
the function fails, instead of the value *serial=0.
I made a quick hack to return the value that I needed - however, I have
not dealt with the kernel or the wine code extensively so I cannot put for
a patch that does this at this time. However, I think this is a much more
sensible design decision. Thank you.
Sincerely,
Christopher J. McKenzie
cjm at ucdavis.edu
More information about the wine-devel
mailing list