IStiUSD インターフェイスを提供する
WIA は STI に基づいて構築されています。 WIA ミニドライバーと STI との統合を円滑に行うには、ミニドライバーは IStiUSD インターフェイス メソッドから派生したインターフェイスを 実装する必要があります。 このインターフェイスは、WIA ミニドライバーに必ず実装されている必要があります。 IStiUSD インターフェイスは、デバイスの管理 (ドライバーの読み込みなど) に用いられるもので、IStiDevice インターフェイス メソッドが静止画デバイスと通信する際の仲介役となります。 ミニドライバーは、WIA サービスによって読み込まれるには、IStiUSD::Initialize メソッドから派生したインターフェイスをすべて実装している必要があります。
通常、IStiUSD インターフェイス メソッドは、IStiDevice インターフェイスで定義されている同じ名前のメソッドによって呼び出されます。 ミニドライバーは、通常、適切なカーネル モード ドライバーを呼び出すことによって IStiUSD インターフェイス メソッドを実装します。 各ミニドライバーはすべてのインターフェイス メソッドを定義する必要がありますが、不要なメソッドに関しては、単に STIERR_UNSUPPORTED を返すだけで構いません。
ミニドライバーが IStiUSD インターフェイスを実装する方法の例については、wiacam カメラのサンプル ミニドライバー ファイルの IStiUSD.cpp を参照してください。
IStiUSD インターフェイスで定義されている全メソッドの一覧と説明を次の表に示します。 WIA ミニドライバーによって実装または条件付きで実装する必要があるメソッドが特定されます。
Method | 説明 |
---|---|
IStiUSD::DeviceReset | 静止画像デバイスを既知の初期化状態にリセットします。 |
IStiUSD::Diagnostic | 静止画像デバイスで診断テストを書き込みます。 WIA ミニドライバーは、このメソッドを実装する必要があります。 |
IStiUSD::Escape | 静止画像デバイスでベンダー固有の I/O 操作を実行します。 |
IStiUSD::GetCapabilities | 静止画像デバイスの機能を返します。 |
IStiUSD::GetLastErrorInfo | 静止画像デバイスに関連付けられている最後の既知のエラーの情報を返します。 |
IStiUSD::GetNotificationData | 静止画像デバイスで発生した最新のイベントの説明を返します。 |
IStiUSD::GetStatus | 静止画像デバイスの状態を返します。 WIA ミニドライバーは、デバイスにイベントを生成できるオブジェクト (ボタンなど) がある場合に、このメソッドを実装する必要があります。 |
IStiUSD::Initialize | IStiUSD インターフェイスを定義する COM オブジェクトのインスタンスを初期化します。 WIA ミニドライバーは、このメソッドを実装する必要があります。 |
IStiUSD::LockDevice | 呼び出し元が排他的に使用するためにデバイスをロックします。 WIA ミニドライバーは、このメソッドを実装する必要があります。 |
IStiUSD::RawReadCommand | 静止画像デバイスからコマンド情報を読み取ります。 |
IStiUSD::RawReadData | 静止画像デバイスからデータを読み取ります。 |
IStiUSD::RawWriteCommand | 静止画像デバイスにコマンド情報を書き込みます。 |
IStiUSD::RawWriteData | 静止画像デバイスにデータを書き込みます。 |
IStiUSD::SetNotificationHandle | ミニドライバーがデバイス イベントの呼び出し元に通知するために使用するイベント ハンドルを指定します。 WIA ミニドライバーは、デバイスにイベントを生成できるオブジェクト (ボタンなど) がある場合に、このメソッドを実装する必要があります。 |
IStiUSD::UnLockDevice | デバイス ポートを閉じます。 WIA ミニドライバーは、このメソッドを実装する必要があります。 |