はじめに
TWAINは、スキャナやデジタルカメラなどの画像入力デバイスとパソコンを接続するための標準規格です。 アプリケーション開発者向けのAPIインターフェースも用意されています。 TWAINは、異なるメーカーのスキャナやカメラとソフトウェアが互換性を持って動作するための標準プロトコルです。 これにより、ユーザーは特定のデバイスに依存せずに画像を取り込むことができます。
TWAINの要素
TWAINは、主に3つの要素で構成されています。
-
アプリケーションソフトウェア
:画像を取り込むためのソフトウェア -
ソースマネージャー
:アプリケーションとデータソースを仲介する役割を持ちます
(例:TWAIN.DLL、TWAIN_32.DLL) -
データソース
:スキャナやカメラなどの画像入力デバイスの操作を管理します
(例:スキャナドライバー)

TWAINの動作プロセス
TWAINは、「アプリケーション層」「プロトコル層」「取得層」「デバイス層」の4層アーキテクチャで構成されています。 ユーザーがスキャンを指示してからスキャンデータが表示されるまでのプロセスは、以下のように各層を経由してデータがやり取りされることで実現されます。
- ユーザー操作
ユーザーがアプリケーションソフトウェアで
スキャン処理を開始します。 - アプリケーション層
アプリケーションソフトウェアがスキャンの指示を
TWAINインターフェースに送ります。 - プロトコル層
TWAINインターフェースが指示をソースマネージャーに渡し、
ソースマネージャーがスキャナを選択します。 - 接続の要求
ソースマネージャーがデータソースに接続を要求し、
データソースがデバイスインターフェースを通じて
スキャナに接続要求を送ります。 - 接続の確立
スキャナが接続を確立し、その情報がデバイスインターフェース、
データソースを通じてソースマネージャーに通知されます。 - データ取得
ソースマネージャーがスキャンの指示をデータソースに送り、
データソースがデバイスインターフェースを通じて
スキャナにスキャンを指示します。 - データの返送
スキャナがスキャンデータをデバイスインターフェースに送り、
データソース、ソースマネージャー、TWAINインターフェースを
経由してアプリケーションソフトウェアに返送されます。 - ユーザーへの表示
アプリケーションソフトウェアが取得したスキャンデータを
ユーザーに表示します。


