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

IWiaDevMgr::SelectDeviceDlgID メソッドは、ユーザーがイメージ取得用のハードウェア デバイスを選択できるようにするダイアログ ボックスを表示します。

構文

HRESULT SelectDeviceDlgID(
  [in]          HWND hwndParent,
  [in]          LONG lDeviceType,
  [in]          LONG lFlags,
  [out, retval] BSTR *pbstrDeviceID
);

パラメーター

[in] hwndParent

型: HWND

[ デバイスの選択 ] ダイアログ ボックスを所有するウィンドウのハンドル。

[in] lDeviceType

型: LONG

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

[in] lFlags

型: LONG

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

定数 説明
0 既定の動作を使用します。
WIA_SELECT_DEVICE_NODEFAULT 一致するデバイスが 1 つしかない場合でも、ダイアログ ボックスを表示します。 詳細については、このリファレンス ページの 「解説 」セクションを参照してください。

[out, retval] pbstrDeviceID

種類: BSTR*

デバイスの識別子文字列を受け取る文字列へのポインター。

戻り値

型: HRESULT

このメソッドは、次の値を返します。

戻り値 説明
S_OK デバイスが正常に選択されました。
S_FALSE ユーザーがダイアログ ボックスを取り消しました。
WIA_S_NO_DEVICE_AVAILABLE 仕様に一致する WIA ハードウェア デバイスがユーザーのコンピューターに接続されていません。

解説

このメソッドは、 IWiaDevMgr::SelectDeviceDlg と同様の方法で動作します。 主な違いは、一致するデバイスが見つかると、デバイスの IWiaItem オブジェクトの階層ツリーが作成されないことです。

IWiaDevMgr::SelectDeviceDlg と同様に、IWiaDevMgr::SelectDeviceDlgID メソッドは[デバイスの選択] ダイアログ ボックスを作成して表示します。 これにより、ユーザーはイメージ取得用の WIA デバイスを選択できます。 デバイスが正常に選択された場合、 IWiaDevMgr::SelectDeviceDlgID メソッドは pbstrDeviceID パラメーターを使用して識別子文字列をアプリケーションに渡します。

特定の種類のデバイスをユーザーに表示するには、 lDeviceType パラメーターを使用してデバイスの種類を指定します。 仕様を満たすデバイスが 1 つだけの場合、 IWiaDevMgr::SelectDeviceDlgID は [ デバイスの選択 ] ダイアログ ボックスを表示しません。 代わりに、ダイアログ ボックスを表示せずに、デバイスの識別子文字列をアプリケーションに渡します。 この動作をオーバーライドし、iWiaDevMgr::SelectDeviceDlgID を強制的に表示するには、WIA_SELECT_DEVICE_NODEFAULTを lFlags パラメーターの値として渡します。

複数の WIA デバイスが仕様に一致する場合は、一致するすべてのデバイスが [ デバイスの選択 ] ダイアログ ボックスに表示されるため、ユーザーはデバイスを選択できます。

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

要件

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