Zagadnienia dotyczące wątków dla interfejsu API StylusInput
Obiekt RealTimeStylus został zaprojektowany, aby zapewnić dostęp w czasie rzeczywistym do strumienia danych z pióra tabletu. Wtyczki, obiekty, które implementują interfejs IStylusSyncPlugin lub IStylusAsyncPlugin interfejs można dodać do obiektu RealTimeStylus. Wtyczki synchroniczne są zwykle wywoływane bezpośrednio przez obiekt RealTimeStylus w wątku o wysokim priorytcie, podczas gdy wtyczki asynchroniczne są zwykle wywoływane w wątku interfejsu użytkownika aplikacji. Utwórz lub użyj synchronicznych wtyczek do zadań, które wymagają dostępu do strumienia danych w czasie rzeczywistym i nie są wymagające obliczeniowo, takie jak filtrowanie pakietów. Utwórz lub użyj asynchronicznych wtyczek dla zadań, które nie wymagają dostępu w czasie rzeczywistym do strumienia danych, takiego jak zbieranie pisma odręcznego.
Ponieważ dane wtyczki dla asynchronicznej kolekcji wtyczek obiektu RealTimeStylus są kolejkowane, asynchroniczne wtyczki mogą odbierać dane przed odebraniem wywołania metody RealTimeStylusDisabled, ale po wyłączeniu obiektu RealTimeStylus. Należy pamiętać, że niektóre z RealTimeStylus metody obiektu i właściwości zgłaszają wyjątek, jeśli obiekt RealTimeStylus jest wyłączony.
Następujące metody interfejsu IStylusSyncPlugin mogą wywołać wątek inny niż wątek danych pióra tabletu.
- Metody RealTimeStylusEnabled i RealTimeStylusDisabled są wywoływane w wątku, który aktualizuje właściwość RealTimeStylus obiektu Enabled, a także dodaje lub usuwa wtyczkę, gdy obiekt RealTimeStylus jest włączony.
- Metoda CustomStylusDataAdded jest wywoływana na wątku, który wywołuje metodę RealTimeStylus obiektu AddCustomStylusDataToQueue.
- Metoda Error jest wywoływana w wątku, w którym jest uruchomiona synchroniczna wtyczka, gdy zgłasza wyjątek.
Aby wchodzić w interakcję z aplikacją z synchronicznej wtyczki, użyj metody AddCustomStylusDataToQueue obiektu RealTimeStylus i obsłuż niestandardowe dane stylusa w jednej z wtyczek asynchronicznych. Jeśli wykonasz synchroniczne wywołanie innego wątku z synchronicznej wtyczki, możesz zablokować obiekt RealTimeStylus, a tym samym zablokować zbieranie pisma odręcznego.
Niektóre zadania mogą wymagać obliczeń, ale nadal wymagają dostępu w czasie rzeczywistym do strumienia danych pióra tabletu, na przykład w przypadku rozpoznawania gestów wielostrojowych. Interfejsy API StylusInput zapewniają kaskadowy model RealTimeStylus, który umożliwia używanie dwóch obiektów RealTimeStylus, z których każdy wywołuje jego synchroniczne wtyczki z różnych wątków. Aby uzyskać więcej informacji na temat kaskadowego modelu RealTimeStylus, zobacz Kaskadowy Model RealTimeStylus.
Notatka
Nie można dołączyć obiektu RealTimeStylus do okna lub kontrolki w innym procesie.
Aby uzyskać więcej informacji na temat zagadnień dotyczących wątkowania na komputerach Tablet PC, zobacz Zagadnienia dotyczące wątkowania komputerów Tablet PC