Considérations relatives aux threads COM et Automation
Les considérations suivantes relatives au thread tablet PC sont spécifiques à l’utilisation de COM (Component Object Model) et d’Automation.
- Cohérence de thread
- Applications STA et MTA
- InkCollector et InkOverlay
- Récepteurs d’événements
- Exceptions dans les gestionnaires d’événements
- Rubriques connexes
Cohérence de thread
À l’exception des contrôles InkPicture et InkEdit , les objets Tablet PC sont thread-safe et sont marqués comme les deux. En étant marqués comme les deux, ils peuvent s’exécuter dans un seul appartement threadé (STA) ou un appartement multithread (MTA).
Les windows forms utilisent le modèle STA, car les windows forms sont basés sur des fenêtres Win32 natives qui sont intrinsèquement basées sur des threads d’appartement.
Applications STA et MTA
Si votre application s’exécute dans un MTA ou utilise le marshaleur thread libre (FTM), vous devez écrire du code thread-safe ; Toutefois, vous pouvez améliorer certains problèmes de performances de gestion des événements.
InkCollector et InkOverlay
Votre application ne doit pas libérer sa référence finale à l’objet InkCollector ou InkOverlay , détruisant ainsi l’objet directement à partir du thread d’encre. Au lieu de cela, l’application doit libérer l’objet InkCollector ou InkOverlay d’un thread d’application.
Attention: Une application marquée MTA ou qui utilise le FTM, qui autorise les appels directs à partir du thread d’encre dans l’appartement de l’application, peut libérer sa référence finale à l’objet InkCollector ou InkOverlay directement à partir du thread d’encre ; toutefois, cela entraîne une défaillance irrécupérable de l’application.
Récepteurs d’événements
Si votre application n’utilise pas le FTM et qu’un objet et son récepteur d’événements sont créés dans des appartements différents, l’événement s’exécute sur le thread qui entretient le récepteur d’événements.
Exceptions dans les gestionnaires d’événements
Les exceptions levées à partir des gestionnaires d’événements Tablet PC sont consommées et ne sont pas visibles par le reste ou votre application. De même, les valeurs HRESULT ne sont pas propagées à partir des gestionnaires d’événements Tablet PC. Si une application utilisant la couche COM lève une exception, le thread d’arrière-plan se termine et l’exception est perdue. Aucun gestionnaire d’événements supplémentaire n’est appelé.
Rubriques connexes