WIA-TWAIN 위험

WIA 드라이버의 STI 부분을 사용하는 TWAIN 드라이버가 있는 경우 다음 사항에 유의해야 합니다.

  1. TWAIN 데이터 원본은 드라이버에 액세스하기 전에 IStiUSD::LockDevice 를 호출합니다. 이렇게 하면 IStiUSD::UnLockDevice 가 호출될 때까지 WIA 애플리케이션이 WIA 드라이버에 연결되지 않습니다. 이 문제를 최소화하려면 WIA 클라이언트가 연결하고 작업을 수행할 수 있도록 디바이스에 대한 액세스를 제한합니다. 이는 TWAIN이 애플리케이션과 드라이버 간에 일대일 관계를 유지 관리하기 때문에 중요합니다. WIA를 사용하면 여러 애플리케이션을 단일 WIA 드라이버에 연결할 수 있습니다. 이러한 이유로 TWAIN 드라이버에 액세스하는 TWAIN 애플리케이션은 잠재적으로 WIA 애플리케이션을 잠글 수 있습니다. 이를 방지하려면 적절한 잠금 방법을 사용합니다.

  2. STI 인터페이스 메서드를 사용하는 모든 애플리케이션 또는 유틸리티는 WIA 드라이버에 대한 액세스를 방지할 수 있습니다. 몇 가지 예로 단추 또는 디바이스 상태를 모니터링하는 유틸리티와 시스템 트레이를 모니터링하는 애플리케이션이 있습니다.

  3. WIA 드라이버는 IStiUSD::RawReadData, IStiUSD::RawWriteData, IStiUSD::RawReadCommand, IStiUSD::RawWriteCommand 및 IStiUSD::Escape에 대한 호출이 적절한 잠금을 사용하여 올바르게 유효성을 검사하고 격리되도록 해야 합니다.

드라이버를 작성할 때 유효한 데이터만 디바이스로 전송되도록 들어오는 값을 확인합니다.

IStiUSD::Escape를 사용하는 경우 적절한 유효성 검사 시퀀스는 IStiUSD 이스케이프 메서드 사용을 참조하세요. 적절한 잠금에 대한 자세한 내용은 잠금 및 잠금 해제 모범 사례를 참조하세요.