省略可能コマンド

次のコマンドはマイクロドライバーによって実装できますが、必須ではありません。

CMD_GETSUPPORTEDFILEFORMATS

追加のファイル形式の数を取得するために WIA フラットベッド ドライバーによって呼び出されます。 渡された VAL 構造体の 2 つのメンバーを入力する必要があります。lVal は追加のファイル形式の数に設定する必要があります。pGuid は、イメージ形式の GUID の配列を指す必要があります。 この配列に割り当てられたメモリはマイクロドライバーによって所有されており、解放処理もマイクロドライバーが行う必要があります。

イメージ形式は wiadef.h で一覧表示されているものを使用するか、独自のカスタム形式を定義することが可能です。 BMP (ファイル) 形式と MEMORYBMP (メモリ) 形式は必須の形式であるため、WIA フラットベッド ドライバーによって自動的に追加されることに注意してください。 マイクロドライバーは、必須形式を拡張形式のリストに追加しないようにしてください。

デバイスが追加のファイル形式に対応できる場合を除き、このコマンドは省略可能です。

CMD_GETSUPPORTEDMEMORYFORMATS

追加のメモリ形式の数を取得するために WIA フラットベッド ドライバーによって呼び出されます。 渡された VAL 構造体の 2 つのメンバーを入力する必要があります。lVal は追加のメモリ形式の数に設定する必要があります。pGuid は、イメージ形式の GUID の配列を指す必要があります。 この配列に割り当てられたメモリはマイクロドライバーによって所有されており、解放処理もマイクロドライバーが行う必要があります。

イメージ形式は wiadef.h で一覧表示されているものを使用するか、独自のカスタム形式を定義することが可能です。 BMP (ファイル) 形式と MEMORYBMP (メモリ) 形式は必須の形式であるため、WIA フラットベッド ドライバーによって自動的に追加されることに注意してください。 マイクロドライバーは、必須形式を拡張形式のリストに追加しないようにしてください。

デバイスが追加のメモリ形式に対応できる場合を除き、このコマンドは省略可能です。

CMD_SETFORMAT

クラス ドライバーは、アプリケーションからの要求に応じて現在の形式を設定するために、このコマンドを送信します。 VAL 構造体の pGuid メンバーには、イメージ形式の GUID が含まれています。 マイクロドライバーは、現在のイメージ形式の設定を追跡するために、このイメージ形式 ID をプライベート コンテキストに保存する必要があります。

マイクロドライバーは、拡張形式を報告する場合に限り、このコマンドをサポートする必要があります。 クラス ドライバーには拡張フォーマットのデータを検証する手段がないので、適切なデータを生成する責任はマイクロドライバー側にあります。 拡張形式でデータを転送する場合は、画像ヘッダーを含むすべてのデータを転送する必要があります。 たとえば、ドライバーが JPEG 形式に対応していると報告する場合、画像ビットだけでなく、すべての JPEG を転送する必要があります。

クラス ドライバーは、VAL 構造体の pGuid メンバーが指すメモリを所有しているため、マイクロドライバーはメモリを解放できません。

このコマンドは、マイクロドライバーが Scan 関数の呼び出しに応答する方法には影響しないことに注意してください。 通常どおり、マイクロドライバーは、この関数の lPhasepScanInfo、および lLength パラメーターの値をチェックし、pBuffer パラメーターと pReceived パラメーターが指すバッファーに適切にデータを配置する必要があります。

WiaImgFmt_BMP 形式と WiaImgFmt_MEMORYBMP 形式 (マイクロドライバーの既定の形式) のファイルのみをサポートするドライバーは、CMD_Standard Edition TFORMAT コマンドを受信することができます。 クラス ドライバーは既定の形式を使用してすべてのデータ転送を処理するため、これらのドライバーはこのコマンドを無視できます。

CMD_SETSCANMODE

マイクロドライバーのデバイスのスキャン モード (プレビューまたは最終) を設定するために、WIA フラットベッド ドライバーによって呼び出されます。 VAL 構造体の lVal メンバーには次のいずれかの値が含まれます。いずれも wiamicro.h で定義されています。

  • SCANMODE_PREVIEWSCAN − プレビュー スキャン モード

  • SCANMODE_FINALSCAN − 最終スキャン モード

CMD_SETSTIDEVICEHKEY

インストールされているレジストリ セクションのレジストリ エントリをマイクロドライバーが読み取ることができるように、WIA フラットベッド ドライバーによって呼び出されます。 このコマンドは、デバイスのプライベート レジストリ値にアクセスできるように、STI デバイスのインストール済みレジストリ HKEY がマイクロドライバーに渡されます。 VAL 構造体の pHandle メンバーには、STI の IStiUSD::Initialize メソッド中に WIA フラットベッド ドライバーに渡された HKEY へのポインターが含まれます。 これは、インストールされているデバイス セクションの最上位の HKEY です。 DeviceData キーは、この HKEY を使用して直接開くことができます。 詳細については、「WIA デバイスの INF ファイル」を参照してください。

Note

このキーの開閉は、WIA フラットベッド ドライバーのみが行うようになっています。 また、このキーが有効なのは、このコマンドと CMD_INITIALIZE (「必須コマンド」を参照) が実行されている間だけです。 これらのコマンドの実行が完了すると、キーは無効になります。 HKEY の値をキャッシュに保存することは避けてください