Condividi tramite


Rischi WIA-TWAIN

Se si dispone di un driver TWAIN che usa la parte STI del driver WIA, è necessario tenere presente quanto segue:

  1. Un'origine dati TWAIN chiama IStiUSD::LockDevice prima di accedere al driver. Ciò impedisce alle applicazioni WIA di connettersi al driver WIA finché non viene chiamato IStiUSD::UnLockDevice . Per ridurre al minimo questo problema, mantenere l'accesso al dispositivo limitato in modo che i client WIA possano connettersi ed eseguire operazioni. Questo è importante perché TWAIN gestisce una relazione uno-a-uno tra applicazioni e driver. WIA consente la connessione di più applicazioni a un singolo driver WIA. Per questo motivo, un'applicazione TWAIN che accede al driver TWAIN può potenzialmente bloccare le applicazioni WIA. Per evitare questo problema, usare una metodologia di blocco appropriata.

  2. Qualsiasi applicazione o utilità che usa i metodi di interfaccia STI può impedire l'accesso al driver WIA. Alcuni esempi sono utilità che monitorano lo stato del pulsante o del dispositivo e le applicazioni che monitorano la barra di sistema.

  3. Il driver WIA deve assicurarsi che le chiamate a IStiUSD::RawReadData, IStiUSD::RawWriteData, IStiUSD::RawReadCommand, IStiUSD::RawWriteCommand e IStiUSD::Escape siano convalidate correttamente e isolate usando il blocco appropriato.

Quando si scrive il driver, verificare che i valori in ingresso vengano inviati solo ai dati validi nel dispositivo.

Per la sequenza di convalida corretta quando si usa IStiUSD::Escape, vedere Uso del metodo di escape IStiUSD. Per altre informazioni sul blocco corretto, vedere Blocco e sblocco delle procedure consigliate.