Compartir a través de


Consideraciones sobre subprocesos de COM y Automation

Las siguientes consideraciones de subproceso de PC tablet son específicas de cuándo se usan el modelo de objetos componentes (COM) y la automatización.

Seguridad para subprocesos

Excepto para los controles InkPicture y InkEdit , los objetos Tablet PC son seguros para subprocesos y se marcan como ambos. Al marcarse como ambos, pueden ejecutarse en un solo apartamento subproceso (STA) o en un apartamento multiproceso (MTA).

Los formularios Windows forms usan el modelo STA porque los formularios windows forms se basan en ventanas nativas win32 que son intrínsecamente subprocesos de apartamento.

Aplicaciones STA y MTA

Si la aplicación se ejecuta en un MTA o usa el serializador de subprocesos libre (FTM), debe escribir código seguro para subprocesos; Sin embargo, al hacerlo, puede mejorar ciertos problemas de rendimiento de control de eventos.

InkCollector y InkOverlay

La aplicación no debe liberar su referencia final al objeto InkCollector ni al objeto InkOverlay , lo que destruye el objeto directamente desde el subproceso de lápiz. En su lugar, la aplicación debe liberar inkCollector o el objeto InkOverlay de un subproceso de aplicación.

Precaución: Una aplicación marcada como MTA o usa el FTM, que permite llamadas directas desde el subproceso de entrada de lápiz al apartamento de la aplicación, puede liberar su referencia final al objeto InkCollector o InkOverlay directamente desde el subproceso de entrada de lápiz; sin embargo, esto provoca un error de aplicación irrecuperable.

Receptores de eventos

Si la aplicación no usa FTM y un objeto y su receptor de eventos se crean en diferentes apartamentos, el evento se ejecuta en el subproceso que mantiene el receptor de eventos.

Excepciones en controladores de eventos

Las excepciones producidas desde los controladores de eventos del PC tableta se consumen y no son visibles para el resto o la aplicación. Del mismo modo, los valores HRESULT no se propagan desde controladores de eventos tablet PC. Si una aplicación que usa la capa COM produce una excepción, el subproceso en segundo plano finaliza y se perderá la excepción. No se llamará a ningún controlador de eventos adicional.

Ejemplo de receptores de eventos de C++

Consideraciones generales sobre subprocesos

Consideraciones sobre subprocesos de biblioteca administrada