次の方法で共有


STI コンポーネントの概要

次の図は、Microsoft STI を構成するソフトウェアコンポーネントを示しています。 図の後に、コンポーネントの一覧があります。

diagram illustrating the microsoft sti components.

イメージング アプリケーション

イメージング アプリケーションは、通常、キャプチャされた静止画像を受信、表示、編集できます。 TWAIN などのイメージ取得 API を呼び出してイメージを取得します。 IStillImage COM インターフェイスを使用して、静止画像イベント モニターに自身を登録する必要があります。 詳細については、「プッシュ モデル対応アプリケーションの作成」を参照してください。

イメージ取得 API

TWAIN、ISIS、Adobe Systems の Acquire は、イメージ取得 API の例です。 図は、TWAIN を示しています。 ベンダーが提供する TWAIN データ ソースは、静止画像デバイスと通信する、デバイス固有かつオペレーティング システム固有のコンポーネントです。

Microsoft STI では、TWAIN データ ソースは IStillImage インターフェイスと IStiDevice インターフェイスが提供するメソッドを呼び出します。 詳細については、「画像取得API のデバイス固有のコンポーネントの作成」を参照してください。

スキャナーとカメラのコントロール パネル

スキャナーとカメラのコントロール パネルを使用すると、ユーザーは次の操作を実行できます。

静止画像イベント モニター

静止画像イベント モニターは、静止画像サーバー プロセスに存在します。 これは、すべての静止画像デバイス (プラグ アンド プレイ互換デバイスとハードウェアの追加ウィザードを使用してインストールされたデバイスの両方) のデータベースを保持します。 また、登録済みアプリケーションと静止画像デバイス イベントのデータベースも保持します。

イベント モニターは、静止画像デバイス イベントを待機します。 (静止画像デバイス イベントを生成しない古いドライバーでサポートされているデバイスの場合、イベント モニターはポーリング スレッドを作成します)。イベントが検出されると、イベント モニターは、ユーザーが以前にイベントに割り当てたアプリケーションを起動します (スキャナーとカメラのコントロール パネルを使用)。 ユーザーがイベントを複数のアプリケーションに割り当てた場合、イベント モニターは、起動するアプリケーションをユーザーに確認します。 イベントがどのアプリケーションにも割り当てられていない場合は無視されます。

静止画像イベント モニターの詳細については、Microsoft Windows SDK ドキュメントの「静止画像」を参照してください。

静止画像 COM インターフェイス

Microsoft STI は、さまざまな Microsoft STI コンポーネント間の通信パスを提供する一連の COM インターフェイスを定義します。 次の COM インターフェイスが定義されています。

IStillImage COM インターフェイス

IStiDevice COM インターフェイス

IStiUSD COM インターフェイス

IStiDeviceControl COM インターフェイス

ユーザー モードの静止画像ミニドライバー

ユーザー モードの静止画像ミニドライバーは、適切なカーネル モード ドライバーにデバイス固有のユーザー モード インターフェイスを提供する、ベンダー側で用意されるコンポーネントです。 これらの各ユーザー モード ドライバーは、IStiUSD COM インターフェイスを実装する必要があります。 これらは、CreateFileReadFileWriteFileDeviceIoControl Win32 関数 (Microsoft Windows SDK ドキュメントに記載) を呼び出すことによって、カーネル モード ドライバーと通信します。 詳細については、「ユーザー モードの静止画像ミニドライバーの作成」を参照してください。

カーネル モードの静止画像ドライバー

カーネル モードの静止画像ドライバーは、特定のバスの種類に接続されている静止画像デバイスに配信するデータをパッケージ化します。 Microsoft は、USB と SCSI バス用の WDM ベースのカーネル モードの静止画像ドライバーを提供しています。 詳細については、「静止画像デバイスのカーネル モード ドライバーへのアクセス」を参照してください 。

他のバスに接続されている静止画像デバイスの場合、ユーザー モード ミニドライバーはカーネル モード のバス ドライバー スタックと直接通信します。

ベンダーがカーネル モードの静止画像ドライバーを提供する必要があるのは、デバイスに Microsoft が提供するドライバーとの互換性がない場合だけです。

カーネル モードのバス ドライバー スタック

Microsoft では、次のように、SCSI、USB、パラレル、IEEE 1394 互換、シリアル バスに接続された静止画像デバイスと、赤外線インターフェイスに接続されたデバイスをサポートしています。

SCSI および USB バスに接続されているデバイス
ユーザー モード ドライバーは、静止画像デバイスのバス固有のカーネル モード ドライバーを呼び出します。

パラレル ポートに接続されているデバイス
拡張機能ポート (ECP) と拡張パラレル ポート (EPP) モードがサポートされています。 ベンダーが提供するカーネル モードのフィルター ドライバーは、ユーザー モードの静止画像ドライバーとカーネル モード バス ドライバー スタックの間に追加できます。 (パラレル ポート ドライバーの詳細については、「パラレル デバイス設計ガイド」と「パラレル デバイス リファレンス」を参照してください。フィルター ドライバーの詳細については、「フィルター ドライバー」を参照してください。

IEEE 1394 バスに接続されているデバイス
SBP-2 プロトコルをサポートするデバイスの場合、ユーザー モード ドライバーは Microsoft の SBP-2 インターフェイスを呼び出すことができます。 それ以外の場合は、ベンダーが提供するフィルター ドライバーが必要です。

シリアル ポートに接続されているデバイス
標準のシリアル ポート ドライバーが使用されます。 (詳細については、「シリアル デバイスとドライバー」を参照してください)。

赤外線インターフェイスに接続されているデバイス
ドライバーは、IrSock ソフトウェア インターフェイスを呼び出すことができます (Microsoft Windows SDK のドキュメントに記載)。

ベンダーは、Microsoft ドライバーでサポートされていないバスのバス ドライバーを提供するだけで済みます。