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 デバイスの種類を指定します。 StiDeviceTypeDefault、StiDeviceTypeScanner、または 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 |