MS OLE questions

Ove Kaaven ovek at arcticnet.no
Tue Jul 8 12:41:36 CDT 2003


tir, 08.07.2003 kl. 13.32 skrev Mike Hearn:
> > IFAIK, this is how apartments are implemented and this comes from Windows 3.1.
> 
> That's what I was thinking, but I found an article from 1994 claiming
> that ole would be shortly moving to the DCE RPC protocol instead of
> using window messages (and so they did).
> 
> I guess they didn't purge window messages entirely.

DCE RPC is in its heart an interprocess protocol, not an interthread
protocol. This distinction does not necessarily matter, though, it can
be used as both if done "right". RPC needs a transport layer, however,
and which transport is used for communication depends on the context.
Thread pools servicing network sockets is used for inter-machine (and
perhaps inter-process) communication. For inter-process communication,
NT LPC (something like that, don't remember anymore) is used. For
inter-thread communication (including dispatching inter-machine requests
to a particular thread), the most reliable system communication path
with thread affinity is used: window messages.

Yes, Windows's implementation of DCE RPC implements window messages as a
transport protocol. So they probably *did* move fully to DCE RPC, they
just moved the old cruft in there too...





More information about the wine-devel mailing list