次の方法で共有


カスタムおよび自動のページ サイズ

アプリケーションでは、スキャナーによる自動検出またはカスタム値を通じてページ サイズを設定できます。 アプリケーションにより使用される方法は、WIA_IPS_PAGE_SIZE プロパティによって決まります。このプロパティは、WIA_PAGE_AUTO または WIA_PAGE_CUSTOM 値を受け取ることができます。

アプリケーションで WIA_IPS_PAGE_SIZE を WIA_PAGE_CUSTOM 以外の任意の値に設定する場合、WIA ミニドライバーは、WIA_IPS_PAGE_WIDTH と WIA_IPS_PAGE_HEIGHT の値をページの寸法 (1,000 分の 1 インチ (.001) 単位) に調整する必要があります。 ミニドライバーは、ページの寸法に合わせて WIA_IPS_XEXTENT の値と WIA_IPS_YEXTENT の値をピクセル単位で調整する必要もあります。

エクステント設定 (WIA_IPS_XEXTENT または WIA_IPS_YEXTENT) が現在のページ サイズ設定と一致しない値に変更された場合、ミニドライバーは、WIA_IPS_PAGE_SIZE プロパティの値を WIA_PAGE_CUSTOM に変更する必要があります。 ミニドライバーは、新しいエクステント設定に同意するよう WIA_IPS_PAGE_WIDTH または WIA_IPS_PAGE_HEIGHT も変更する必要があります。

アプリケーションで WIA_IPS_PAGE_SIZE プロパティを WIA_PAGE_CUSTOM に設定した場合、現在の選択領域は影響を受けません。 WIA ミニドライバーは、WIA_IPS_XPOS プロパティと WIA_IPS_YPOS プロパティの現在の設定から開始して、現在のイメージ レイアウトを取得する必要があります。 ページ サイズ設定の結果、選択領域がスキャナー ベッドの外側になる場合、ミニドライバーは、WIA_IPS_XPOS プロパティと WIA_IPS_YPOS プロパティの値を有効な設定に自動的に調整する必要があります。 WIA_IPS_PAGE_SIZE プロパティと WIA_IPS_ORIENTATION プロパティが同時に設定され、組み合わせて適用すると無効となる場合、ミニドライバーは、IWiaMiniDrv::drvValidateItemProperties メソッドでエラーを返し、アプリケーションの設定を失敗させる必要があります。

ページ サイズの自動検出が有効なとき、ドライバーは、画像データの転送が完了した後のみ、正確な画像ディメンション情報を提供する必要があります。 ストリーム ベースの転送の場合、ドライバーは転送の終了時にイメージ ヘッダー内の画像のサイズを更新することが期待されます。 新しいセッションの開始時に、WIA_DPS_PAGE_SIZE プロパティの値は常に WIA_PAGE_AUTO以外 の値に設定する必要があります。

WIA_PAGE_AUTO が現在の WIA_IPS_PAGE_SIZE 値として設定されると、ドライバーは、最初に汎用イメージ ディメンションを含むイメージ ヘッダーを転送してから、イメージ データを転送した後、転送ストリームの先頭に戻り、イメージ ヘッダーを実際の画像ディメンション (スキャン完了後に検出) で更新して、ストリーム インデックスをストリームの末尾に戻すことが必要になる可能性があります。

WIA_PAGE_AUTO が設定されると (ドライバーによって既定値として選択されるか、アプリケーションによって設定される)、アプリケーションは、イメージの転送全体が完了するまで、イメージ ヘッダーが記述する画像のサイズの処理を試みないようにする必要があります。

WIA サービス内の互換性レイヤーでは、デバイスの子項目でプロパティがサポートされていない場合、Windows XP WIA デバイスから変換される ADF 項目に、WIA_IPS_PAGE_SIZE のサポートは追加されません。 アプリケーションは、必ずしも ADF 項目がこのプロパティをサポートしていることを想定しておらず、WIA_IPS_PAGE_SIZE がサポートされているかどうかを実行時に必ずチェックする必要があります。 (通常、アプリケーションでは、ネゴシエートするプロパティのサポートをチェックする必要があります)。