IWiaDevMgr::GetImageDlg メソッド (wia_xp.h)

IWiaDevMgr::GetImageDlg メソッドは、ユーザーが Windows イメージ取得 (WIA) デバイスからイメージを取得し、指定したファイルにイメージを書き込む 1 つ以上のダイアログ ボックスを表示します。 このメソッドは 、IWiaDevMgr::SelectDeviceDlg の機能を組み合わせて、1 つの API 呼び出し内でイメージの取得を完全にカプセル化します。

構文

HRESULT GetImageDlg(
  [in]      HWND     hwndParent,
  [in]      LONG     lDeviceType,
  [in]      LONG     lFlags,
  [in]      LONG     lIntent,
  [in]      IWiaItem *pItemRoot,
  [in]      BSTR     bstrFilename,
  [in, out] GUID     *pguidFormat
);

パラメーター

[in] hwndParent

型: HWND

[ イメージの取得 ] ダイアログ ボックスを所有するウィンドウのハンドル。

[in] lDeviceType

型: LONG

使用する WIA デバイスの種類を指定します。 StiDeviceTypeDefaultStiDeviceTypeScanner、または StiDeviceTypeDigitalCamera に設定されます。

[in] lFlags

型: LONG

ダイアログ ボックスの動作を指定します。 次の値に設定できます。

フラグ 説明
0 既定の動作。
WIA_SELECT_DEVICE_NODEFAULT [ デバイスの選択 ] ダイアログ ボックスを表示するには、このメソッドを強制します。 詳細については、このリファレンス ページの 「解説 」セクションを参照してください。
WIA_DEVICE_DIALOG_SINGLE_IMAGE [デバイス イメージの取得] ダイアログ ボックスで、イメージの選択を 1 つのイメージに制限します。
WIA_DEVICE_DIALOG_USE_COMMON_UI ベンダーが提供する UI ではなく、システム UI (使用可能な場合) を使用します。 システム UI が使用できない場合は、ベンダー UI が使用されます。 どちらの UI も使用できない場合、関数はE_NOTIMPLを返します。

[in] lIntent

型: LONG

イメージが表すデータの種類を指定します。 イメージ意図の値の一覧については、「 Image Intent Constants」を参照してください。

[in] pItemRoot

種類: IWiaItem*

IWiaDevMgr::CreateDevice によって返される IWiaItem オブジェクトの階層ツリーのインターフェイスへのポインター。

[in] bstrFilename

種類: BSTR

イメージ データの書き込み先となるファイルの名前を指定します。

[in, out] pguidFormat

型: GUID*

入力時に、 には、使用する形式を指定する GUID へのポインターが含まれます。 出力時に、 は使用される形式を保持します。 既定の形式を使用するには、IID_NULLを渡します。

戻り値

種類: HRESULT

IWiaDevMgr::GetImageDlg は、ユーザーがデバイスの選択またはイメージ取得ダイアログ ボックスをキャンセルした場合にS_FALSEを返します。WIA デバイスが現在使用できない場合はWIA_S_NO_DEVICE_AVAILABLE、UI がない場合はE_NOTIMPL、データが正常に転送された場合はS_OK。

IWiaDevMgr::GetImageDlg、エラー コードで指定された値を返します。指定された値以外の理由でエラーが発生した場合は標準 COM エラーを返します。

注釈

このメソッドを呼び出すと、ユーザーが画像を取得できるようにするダイアログ ボックスが表示されます。 また、IWiaDevMgr::SelectDeviceDlg メソッドによって作成された [デバイスの選択] ダイアログ ボックスを表示することもできます。

アプリケーションが pItemRoot パラメーターの値に NULL を渡すと、IWiaDevMgr::GetImageDlg は [デバイスの選択] ダイアログ ボックスを表示し、ユーザーが WIA 入力デバイスを選択できるようにします。 アプリケーションで pItemRoot パラメーターを使用してデバイスの項目ツリーへのポインターを渡して WIA 入力デバイスを指定した場合、IWiaDevMgr::GetImageDlg は [デバイスの選択] ダイアログ ボックスを表示しません。 代わりに、指定された入力デバイスを使用してイメージを取得します。

[デバイスの 選択 ] ダイアログ ボックスを使用すると、アプリケーションで WIA 入力デバイスの種類を指定できます。 そのためには、 pItemRoot パラメーターを NULL に設定し、 lDeviceType パラメーターを介して適切な定数を渡す必要があります。 指定した種類のデバイスが複数存在する場合、 IWiaDevMgr::GetImageDlg は [ デバイスの選択 ] ダイアログ ボックスを表示して、ユーザーが使用するデバイスを選択できるようにします。

IWiaDevMgr::GetImageDlg で一致するデバイスが 1 つだけ見つかると、[デバイスの選択] ダイアログ ボックスは表示されません。 代わりに、一致するデバイスが選択されます。 この動作をオーバーライドし、iWiaDevMgr::GetImageDlglFlags パラメーターの値として WIA_SELECT_DEVICE_NODEFAULTを渡すことで、[デバイスの選択] ダイアログ ボックスを強制的に表示できます。

アプリケーションでは、[ファイル] メニューの [スキャナーまたはカメラから] という名前のメニュー項目を使用して、デバイスとイメージの選択を使用できるようにすることをお勧めします。

ダイアログには、一意のファイル名でファイルを保存できる bstrFilename のフォルダーに対する十分な権限が必要です。 フォルダーにはユーザー データが含まれているため、アクセス制御リスト (ACL) でも保護する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー wia_xp.h (Wia.h を含む)
Library Wiaguid.lib
[DLL] Wiaservc.dll