Why is our OutputDebugString a server request?

Boaz Harrosh boaz at hishome.net
Tue Sep 14 02:13:49 CDT 2004


Shachar Shemesh wrote:

> Hi all,
>
> It seems that OutputDebugString is defined in the Win32 API as a set 
> of client side operations. In wine, however, it is a server request.
>
> I have not traced it into the server to see whether they carry out the 
> same operations or not. However, even if they do, I am wondering why 
> we need them? Wouldn't it be better to not do server side things that 
> can be done client side?
>
> (http://www.unixwiz.net/techtips/outputdebugstring.html)
>
> Shachar
>
> P.S.
> I perfectly understand that obtaining mutexes and waiting on events is 
> a server side operation. However, it was my impression that such 
> things are best carried out by mimicking the Win32 structure as much 
> as possible. Isn't that the case?
>
>             Shachar
>
Hi
I have played with this a bit. Currently, on wine, It is both a client 
side and a server side. if you do WINEDEBUG+debugstr than the output is 
sent client side to the regular debug channel. It than, is also sent to 
the server. If an application like DebugView from SysInternals hooks 
into the server it can receive these messages, and display them. I used 
an home made DebugMon that only hooks WIN32 (NT-kernel has it's own hook 
in kernel) And it worked under wine. I think it did, I didn't play with 
it much. Any way if it does not, It can easily be fixed.  If you want to 
try and it does not work tell me. I'll try to look up the win32 API that 
is used for the receiving of the strings by monitors. I have access to 
code that does that. I'm sure the guys won't mind if I look. It is all 
public API any way.

Free Life
Boaz




More information about the wine-devel mailing list