Compartilhar via


Riscos wia-twain

Se você tiver um driver TWAIN que usa a parte de STI do driver WIA, precisará estar ciente do seguinte:

  1. Uma fonte de dados TWAIN chama IStiUSD::LockDevice antes de acessar o driver. Isso impede que aplicativos WIA se conectem ao driver WIA até que IStiUSD::UnLockDevice seja chamado. Para minimizar esse problema, mantenha o acesso ao dispositivo limitado para que os clientes WIA possam se conectar e executar operações. Isso é importante porque o TWAIN mantém uma relação um-para-um entre aplicativos e drivers. O WIA permite que vários aplicativos sejam conectados a um único driver WIA. Por esse motivo, um aplicativo TWAIN que acessa o driver TWAIN pode potencialmente bloquear aplicativos WIA. Para evitar isso, use a metodologia de bloqueio adequada.

  2. Qualquer aplicativo ou utilitário que use os métodos de interface STI pode impedir o acesso ao driver WIA. Alguns exemplos são utilitários que monitoram status de botão ou dispositivo e aplicativos que monitoram a bandeja do sistema.

  3. O driver WIA deve garantir que as chamadas para IStiUSD::RawReadData, IStiUSD::RawWriteData, IStiUSD::RawReadCommand, IStiUSD::RawWriteCommand e IStiUSD::Escape sejam validadas e isoladas corretamente usando o bloqueio adequado.

Ao escrever o driver, verifique os valores de entrada para que apenas os dados válidos sejam enviados para o dispositivo.

Para obter a sequência de validação adequada ao usar IStiUSD::Escape, consulte Usando o método de escape IStiUSD. Para obter informações adicionais sobre o bloqueio adequado, consulte Práticas recomendadas de bloqueio e desbloqueio.