次の方法で共有


IWiaPreview::D etectRegions メソッド

ドライバーのセグメント化フィルターを呼び出し、 IWiaPreview::GetNewPreview メソッドによってキャッシュされたフィルター処理されていないイメージをフィルターに渡します。

構文

HRESULT DetectRegions(
  [in] LONG lFlags
);

パラメーター

lFlags [in]

型: LONG

使用されていません。 0 に設定します。

戻り値

種類: HRESULT

このメソッドは、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK
操作が成功しました。
E_NOTIMPL
ドライバーはセグメント化をサポートしていません。
それ以外の場合
標準の COM エラー コード。

 

注釈

アプリケーションは、この関数を呼び出す前に IWiaPreview::GetNewPreview を呼び出す必要があります。

Windows Image Acquisition (WIA) 2.0 Preview Component が IWiaPreview::D etectRegions を呼び出すと、ドライバーのセグメント化フィルターが呼び出され、以前に IWiaPreview::GetNewPreview に渡された IWiaItem2 インターフェイスが渡されます。 また、内部キャッシュされたイメージをフィルターに渡します。 セグメント化フィルターは、キャッシュされたイメージを使用して子エクステントを作成します。

IWiaPreview::GetNewPreview を呼び出した後にアプリケーションが IWiaItem2 インターフェイスのプロパティを変更した場合、アプリケーションが IWiaPreview::D etectRegions を呼び出す前に、元のプロパティを復元する必要があります。 元のプロパティを復元するには、 GetPropertyStreamSetPropertyStream を使用します。

IWiaPreview::D etectRegions は、キャッシュされたイメージの "サブリージョン" を決定するために使用されます。 検出されたサブリージョンごとに、 IWiaItem2 インターフェイスの下に新しい子 WIA 2.0 項目が作成されます。 子項目ごとに、セグメント化フィルターは、WIA 2.0 のプロパティ (WIA_IPS_XPOS、WIA_IPS_YPOS、WIA_IPS_XEXTENT、WIA_IPS_YEXTENT) の値を設定する必要があります。 より高度なフィルターでは、ドライバーが偏りをサポートしている場合、WIA_IPS_DESKEW_XやWIA_IPS_DESKEW_Yなど、他の WIA 2.0 プロパティが設定されます。 WIA_IPS_XPOS、WIA_IPS_YPOS、WIA_IPS_XEXTENT、およびWIA_IPS_YEXTENTの各プロパティは、スキャンする領域の外接する四角形を表します。

ドライバーがセグメント化をサポートしていない可能性があります。 IWiaPreview::D etectRegions を呼び出す前に、アプリケーションは通常、ドライバーが WIA_IPS_SEGMENTATION プロパティをサポートしているかどうかを確認します。 プロパティが実装されていない場合、セグメント化はサポートされず、 IWiaPreview::D etectRegions は 失敗し、E_NOTIMPLを返します。

アプリケーションは、IWiaPreview::D etectRegions を呼び出して作成された子項目をクリーンする必要があります。 たとえば、アプリケーションが同じアイテムに対して IWiaPreview::D etectRegions を追加で呼び出す場合は、前の子項目をクリーンする必要があります。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
Header
Wia.h
IDL
Wia.idl