http://bugs.winehq.org/show_bug.cgi?id=5099
vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|fixme:ntdll:NtFsControlFile |Problem installing Command | |and Conquer Tiberian Sun
------- Additional Comments From vitaliy@kievinfo.com 2006-21-04 21:35 ------- Btw if you hack it that way, does it work? Or does it get any farther?
I meant that it will always fail on native when used on drive c: MSDN is really clear about this: It will suceed only if there are "no open handles on the device refernced by handle". As far as implementing that on Wine - you can't. At best you can change return value (something that you did with your patch). But that would be invalid for most cases.
Handles are indexes into handle table inside OM (object manager). It resides in wineserver. The example from comment #6 will not work - it tries to mapp file as file section - which won't work ok device ex: "??\D:". You could use NtQueryObject with ObjectBasicInformation & ObjectNameInformation. That should work on devices but I don't know if that will work on files... And of course that's not implemented on Wine.
So I don't see how it can be _fixed_. You can hack it's return value - but that's not a solution...