Shell integration idea

Mikołaj Zalewski mikolaj at zalewski.pl
Sat Jun 3 16:53:10 CDT 2006


>The number of developers that understand COM aggregation and all the
>baroque rules that make it up is very, very low. A simple ops struct of
>function pointers as used in the wineserver or kernel would be fine here
>... COM adds an awful lot of complexity that really isn't needed at all
>(eg you must call CoInitialize, which means caring about apartments, which
>means possibly instantiating a STA when windows wouldn't, which means pain).
>  
>
  OK, I won't insist on aggregation :). As for apartments I've thought 
that something like that:
HRESULT res=CoInitializeEx(NULL, COINIT_MULTITHREADED);
/* working with objects with ThreadingModel Both */
if (SUCCEEDED(res)) CoUninitialize();

won't have any side effects. But if the number of developers that knows 
about COM is low then maybe that it's better to use simple ops structs 
instead.

Mikolaj Zalewski

PS: I will be absent during the next week so I won't be able to reply to 
e-mails.



More information about the wine-devel mailing list