Inspector Twain  Inspector TWAIN Reports

The Compatibility Score in the reports is determined by testing the driver's response to requests.  Scores values are from 0 to 100, where 100 is a perfect score.

What version of the Twain specification is used for validation?

Inspector Twain compares results against the 2.3 specification.  This version of the specification was released in 2013 and most drivers are written for this version.

What does Inspector Twain test?

The majority of the score comes from testing the driver capabilities.  Inspector Twain will only test capabilities returned from a call to the DG_CONTROL / DAT_CAPABILITY / MSG_GET triplet for CAP_SUPPORTEDCAPS.  Twain triplets returned from MSG_QUERYSUPPORT are tested to make sure the driver truely supports these features.

When one of the triplets fail, the compatibility score is reduced.  There are also reductions when a container or item type does not match what is listed in the TWAIN specification.

How much is deducted for each error found?

Error Penalty
CAP_SUPPORTEDCAPS Not Supported 20 points
All drivers must support this capability.
Invalid Compression List 10 points
When ICAP_COMPRESSION is used with MSG_GET, the driver should only return valid values for the current transfer method (ICAP_XFERMECH), pixel type (ICAP_PIXELTYPE) and file format (ICAP_IMAGEFILEFORMAT) when using a file transfer method.
Invalid Transfer Method 5 points
When changing the ICAP_XFERMECH to one of the values reported as being supported, a TWRC_FAILURE was returned.
Invalid Operation Triplet 5 points
Calling an operation triplet failed even though it was reported as being supported from a MSG_QUERYSUPPORT call.
The DG_CONTROL / DAT_CAPABILITY / MSG_QUERYSUPPORT operation triplet failed for unknown reasons.
Capability Value Reported 2 points
This is the result of using MSG_SET on a capability to a value that has been reported as valid for the capability and returning anything other than TWRC_SUCCESS.
Unknown Item Type 1 point
The capability value type used is not one of the value types listed in the specification.
Invalid Container 1 point
The container used for the MSG_GET or MSG_GETCURRENT was not valid for the capability.
Invalid Item Type 1 point
The capability value type used does not match the value type listed in the specification.