Re: C++ COM STA model
"George" <George@discussions.microsoft.com> wrote in message
news:25E267B5-0538-437B-9788-AFEDB2EC2BDB@microsoft.com
In COM STA model, a hidden Window will be created with synchronized
message pump operation.
Not quite. COM will create a hidden window. Your thread is responsible
for pumping messages to it (except in certain situations where COM
enters a modal message pump, e.g. when you make an out-of-apartment COM
call).
1. Who (which party) is responsible for generating code to create the
hidden Window
COM creates a hidden window in CoInitialize. I'm not sure what you mean
by "generating code".
and generate message pump
The thread calling CoInitialize is responsible for running a message
pump.
2. If it is created by the COM Runtime? When such code is generated?
During call to CoInitializeEx and when specifiying parameter value
for dwCoInit (COINIT_APARTMENTTHREADED or COINIT_MULTITHREADED)?
Only for COINIT_APARTMENTTHREADED
3. Where is the generated binary code?
Likely in ole32.dll, same place where CoInitialize implementation is.
Why do you care?
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925