Partager via


Risques WIA-TWAIN

Si vous avez un pilote TWAIN qui utilise la partie STI de votre pilote WIA, vous devez être conscient des éléments suivants :

  1. Une source de données TWAIN appelle IStiUSD::LockDevice avant d’accéder au pilote. Cela empêche les applications WIA de se connecter à votre pilote WIA tant que IStiUSD::UnLockDevice n’est pas appelé. Pour réduire ce problème, gardez l’accès à l’appareil limité afin que les clients WIA puissent se connecter et effectuer des opérations. Cela est important, car TWAIN maintient une relation un-à-un entre les applications et les pilotes. WIA permet à plusieurs applications d’être connectées à un seul pilote WIA. Pour cette raison, une application TWAIN qui accède au pilote TWAIN peut potentiellement verrouiller les applications WIA. Pour éviter cela, utilisez la méthodologie de verrouillage appropriée.

  2. Toute application ou utilitaire qui utilise les méthodes d’interface STI peut empêcher l’accès au pilote WIA. Par exemple, les utilitaires qui surveillent les status de bouton ou d’appareil et les applications qui surveillent la barre d’état système.

  3. Le pilote WIA doit s’assurer que les appels à IStiUSD::RawReadData, IStiUSD::RawWriteData, IStiUSD::RawReadCommand, IStiUSD::RawWriteCommand et IStiUSD::Escape sont correctement validés et isolés à l’aide d’un verrouillage approprié.

Lorsque vous écrivez votre pilote, vérifiez les valeurs entrantes afin que seules les données valides soient envoyées à l’appareil.

Pour connaître la séquence de validation appropriée lors de l’utilisation d’IStiUSD::Escape, consultez Utilisation de la méthode D’échappement IStiUSD. Pour plus d’informations sur le verrouillage approprié, consultez Meilleures pratiques de verrouillage et de déverrouillage.