2008-10-14 5 views

Répondre

7

Pour les processus non gérés, vous contrôlez le modèle d'appartement utilisé pour un thread en passant les paramètres appropriés à CoInitializeEx(). Larry Osterman a écrit un grand petit guide à ces:

...
Lorsqu'un thread appelle CoInitializeEx (ou CoInitialize), le fil dit COM lequel des deux types d'appartements, il est prêt à hôte. Pour indiquer que le thread doit vivre dans le MTA, vous passer le COINIT_MULTITHREADED à CoInitializeEx. Pour indiquer que le fil doit accueillir un STA, soit appeler CoInitialize ou passer le drapeau COINIT_APARTMENTTHREADED à CoInitializeEx.
...

- http://blogs.msdn.com/larryosterman/archive/2004/04/28/122240.aspx

1

C++ n'a pas de support de thread intégré. Ce que vous recherchez dépend de la façon dont vous implémentez les threads dans votre application. Win32? pthreads? boost :: threads? Quelle que soit l'API que vous utilisez, elle déterminera la réponse à votre question.

EDIT: ressemble à ceci peut avoir un exemple pour vous: http://msdn.microsoft.com/en-us/library/system.threading.apartmentstate.aspx

On dirait qu'il applique à ++ géré c.

Questions connexes