다음을 통해 공유


COM 및 Automation 스레딩 고려 사항

다음 태블릿 PC 스레딩 고려 사항은 COM(구성 요소 개체 모델) 및 자동화를 사용하는 경우에 따라 다릅니다.

스레드 보안

InkPictureInkEdit 컨트롤을 제외하고 태블릿 PC 개체는 스레드로부터 안전하며 둘 다로 표시됩니다. 둘 다로 표시되면 STA(단일 스레드 아파트) 또는 MTA(다중 스레드 아파트)에서 실행할 수 있습니다.

Windows 양식은 기본적으로 아파트 스레드가 있는 네이티브 Win32 창을 기반으로 하므로 STA 모델을 사용합니다.

STA 및 MTA 애플리케이션

애플리케이션이 MTA에서 실행되거나 자유 스레드 마샬러(FTM)를 사용하는 경우 스레드로부터 안전한 코드를 작성해야 합니다. 그러나 이렇게 하면 특정 이벤트 처리 성능 문제를 개선할 수 있습니다.

InkCollector 및 InkOverlay

애플리케이션은 InkCollector 또는 InkOverlay 개체에 대한 최종 참조를 해제해서는 안 되므로 잉크 스레드에서 직접 개체를 삭제합니다. 대신 애플리케이션은 애플리케이션 스레드 에서 InkCollector 또는 InkOverlay 개체를 해제해야 합니다.

주의: MTA로 표시되거나 FTM을 사용하는 애플리케이션은 잉크 스레드에서 애플리케이션의 아파트로 직접 호출할 수 있으며 잉크 스레드에서 직접 InkCollector 또는 InkOverlay 개체에 대한 최종 참조를 해제할 수 있습니다. 그러나 이로 인해 복구할 수 없는 애플리케이션 오류가 발생합니다.

이벤트 싱크

애플리케이션이 FTM을 사용하지 않고 개체와 해당 이벤트 싱크가 다른 아파트에 만들어지면 이벤트 싱크를 서비스하는 스레드에서 이벤트가 실행됩니다.

이벤트 처리기 내의 예외

태블릿 PC 이벤트 처리기 내에서 throw된 예외는 사용되며 나머지 또는 애플리케이션에는 표시되지 않습니다. 마찬가지로 HRESULT 값은 태블릿 PC 이벤트 처리기에서 전파되지 않습니다. COM 계층을 사용하는 애플리케이션이 예외를 throw하면 백그라운드 스레드가 종료되고 예외가 손실됩니다. 추가 이벤트 처리기가 호출되지 않습니다.

C++ 이벤트 싱크 샘플

일반 스레딩 고려 사항

관리되는 라이브러리 스레딩 고려 사항