それはうまくいくはずです。
残念ながら、私たちは完璧な世界に住んでいるわけではありません。TWAIN ドライバーは、最もバグの多いドライバーの 1 つです。ほとんどのドライバはスキャン ダイアログなしでテストされたことがないため、TWAIN を使用してスキャン プロセスを制御することは常に大きな頭痛の種でした。
私の知る限り、twain ドライバー用のテスト スイートも存在しないため、それぞれの動作はわずかに異なります。
私は 1990 年代に OCR アプリケーションを書き、これらの問題にも対処しなければなりませんでした。私がたどり着いたのは、サポートされているスキャナーのリストと、さまざまなドライバーごとに多くのハックと回避策を備えたスキャナー モジュールです。
たとえば、ICAP_XRESOLUTION を見てみましょう。TWAIN のドキュメントには、解像度を 32 ビット浮動小数点として送信する必要があると書かれています。代わりに整数を使用して設定しようとしましたか? または、フロートとして送信し、整数のビット表現をフロートに入れるか、その逆を行います。これはすべて、使用しているドライバーで機能する可能性があります。または、まったく機能しませんでした。
それ以来、状況が大きく変わったとは思えません。運が良ければ、世の中にあるマシンの少なくとも半分で動作します。