Compartir a través de


Riesgos de WIA-TWAIN

Si tiene un controlador TWAIN que usa la parte STI del controlador WIA, debe tener en cuenta lo siguiente:

  1. Un origen de datos TWAIN llama a IStiUSD::LockDevice antes de acceder al controlador. Esto impide que las aplicaciones WIA se conecten al controlador WIA hasta que se llame a IStiUSD::UnLockDevice . Para minimizar este problema, mantenga el acceso al dispositivo limitado para que los clientes wia puedan conectarse y realizar operaciones. Esto es importante porque TWAIN mantiene una relación uno a uno entre las aplicaciones y los controladores. WIA permite que varias aplicaciones se conecten a un único controlador WIA. Por este motivo, una aplicación TWAIN que accede al controlador TWAIN puede bloquear potencialmente las aplicaciones WIA. Para evitar esto, use la metodología de bloqueo adecuada.

  2. Cualquier aplicación o utilidad que use los métodos de interfaz STI puede impedir el acceso al controlador WIA. Algunos ejemplos son utilidades que supervisan el estado del dispositivo o el botón y las aplicaciones que supervisan la bandeja del sistema.

  3. El controlador WIA debe asegurarse de que las llamadas a IStiUSD::RawReadData, IStiUSD::RawWriteData, IStiUSD::RawReadCommand, IStiUSD::RawWriteCommand e IStiUSD::Escape se validan y aíslan correctamente mediante el bloqueo adecuado.

Al escribir el controlador, compruebe los valores entrantes para que solo se envíen datos válidos al dispositivo.

Para obtener la secuencia de validación adecuada al usar IStiUSD::Escape, consulte Uso del método de escape IStiUSD. Para obtener más información sobre el bloqueo adecuado, consulte Procedimientos recomendados de bloqueo y desbloqueo.