WIA-TWAIN Ryzyka

Jeśli masz sterownik TWAIN, który używa części STI sterownika WIA, należy pamiętać o następujących kwestiach:

  1. Źródło danych TWAIN wywołuje funkcję IStiUSD::LockDevice przed uzyskaniem dostępu do sterownika. Uniemożliwia to aplikacjom WIA nawiązywanie połączenia ze sterownikiem WIA do momentu wywołania funkcji IStiUSD::UnLockDevice. Aby zminimalizować ten problem, zachowaj dostęp do urządzenia ograniczony, aby klienci WIA mogli łączyć się i wykonywać operacje. Jest to ważne, ponieważ usługa TWAIN utrzymuje relację jeden do jednego między aplikacjami i sterownikami. WIA umożliwia łączenie wielu aplikacji z jednym sterownikiem WIA. Z tego powodu aplikacja TWAIN, która uzyskuje dostęp do sterownika TWAIN, może potencjalnie zablokować aplikacje WIA. Aby temu zapobiec, należy użyć odpowiedniej metodologii blokowania.

  2. Każda aplikacja lub narzędzie korzystające z metod interfejsu STI może uniemożliwić dostęp do sterownika WIA. Niektóre przykłady to narzędzia monitorujące stan przycisku lub urządzenia oraz aplikacje monitorujące zasobnik systemu.

  3. Sterownik WIA powinien upewnić się, że wywołania do IStiUSD::RawReadData, IStiUSD::RawWriteData, IStiUSD::RawReadCommand, IStiUSD::RawWriteCommand i IStiUSD::Escape są prawidłowo weryfikowane i izolowane przy użyciu prawidłowego blokowania.

Podczas pisania sterownika zweryfikuj wartości przychodzące, aby tylko prawidłowe dane zostały wysłane do urządzenia.

Aby uzyskać właściwą sekwencję walidacji podczas korzystania z metody IStiUSD::Escape, zobacz Using the IStiUSD Escape Method (Używanie metody ucieczki IStiUSD). Aby uzyskać dodatkowe informacje na temat prawidłowego blokowania, przeczytaj Najlepsze Praktyki Blokowania i Odblokowywania.