ntdll/file.c: Allow to TRACE NtCreateFile return [repost]

Vitaliy Margolen wine-devel at kievinfo.com
Sat Aug 30 12:41:46 CDT 2008


Michael Karcher wrote:
> [The original mail seemed to be stuck in the moderation queue or
> got lost somewhere else. Reposting with correct "From:" this
> time]
> 
> Am Mittwoch, den 27.08.2008, 17:14 +0900 schrieb Dmitry Timoshkov:
>> "Markus Hitter" <mah at jump-ing.de> wrote:
>>
>>> Providing the file handle allows to map
>>> read/write requests to the corresponding file name.
>> As pointed out by Alexander, you can use an appropriate debug
>> channel for that, +relay or +server. There is no need to pollute
>> the source with additional traces.
> 
> I am sorry, but I don't get your point. The handle is returned in an
> out-pointer. There is no way to get that info into +relay. Alexandre
> said:
> 
> | Module-specific traces like this one should try to print as
> | little information as necessary to make sense of the trace
> | In general a single trace at function entry is enough to understand
> | the code flow.
> I agree, but the handles returned *are* necessary to make sense of the
> trace. Also, if I just want parameters at the function entry: This
> information is provided by +relay. In the +file log, I don't care about
> the address where the handle should be written to, yet it is logged by
> our tracing conventions. It also doesn't help to understand code flow.
> Now we are rejecting a patch that logs useful information instead, which
> is vital to connect further file calls to the NtCreateCall, i.e.
> understand the flow. I don't understand that.
> 
> | If you want details like the exact error codes you can use +relay or
> | +server.
> I agree too, but the details about exact error codes have been removed
> from the patch.
>


Almost no programs are calling the Nt* functions directly. But kernel32
functions. So the point about knowing the file handle in return from
NtCreateFile is moot. And kernel32's CreateFile() already prints that
information for you.

This is why you are getting so much resistance - you trying to add something
redundant.






More information about the wine-devel mailing list