IWiaDevMgr::SelectDeviceDlg メソッド (wia_xp.h)
IWiaDevMgr::SelectDeviceDlg には、ユーザーがイメージ取得用のハードウェア デバイスを選択できるようにするダイアログ ボックスが表示されます。
構文
HRESULT SelectDeviceDlg(
[in] HWND hwndParent,
[in] LONG lDeviceType,
[in] LONG lFlags,
[in, out] BSTR *pbstrDeviceID,
[out, retval] IWiaItem **ppItemRoot
);
パラメーター
[in] hwndParent
型: HWND
[ デバイスの選択 ] ダイアログ ボックスを所有するウィンドウのハンドル。
[in] lDeviceType
型: LONG
使用する WIA デバイスの種類を指定します。 StiDeviceTypeDefault、StiDeviceTypeScanner、または StiDeviceTypeDigitalCamera に設定できます。
[in] lFlags
型: LONG
ダイアログ ボックスの動作を指定します。 次のいずれかの値に設定できます。
定数 | 説明 |
---|---|
0 | 既定の動作を使用します。 |
WIA_SELECT_DEVICE_NODEFAULT | 一致するデバイスが 1 つしかない場合でも、ダイアログ ボックスを表示します。 詳細については、このリファレンス ページの 「解説 」セクションを参照してください。 |
[in, out] pbstrDeviceID
種類: BSTR*
出力時に、デバイスの識別子文字列を含む文字列を受け取ります。 入力時に、この情報が必要な場合はポインターのアドレスを渡し、必要ない場合は NULL を 渡します。
[out, retval] ppItemRoot
種類: IWiaItem**
選択した WIA デバイスを表すツリーのルート項目の IWiaItem インターフェイスへのポインターのアドレスを受け取ります。 デバイスが見つからない場合は、 値 NULL が含まれます。
戻り値
種類: HRESULT
このメソッドは、次の値を返します。
戻り値 | 説明 |
---|---|
S_OK | デバイスが正常に選択されました。 |
S_FALSE | ユーザーがダイアログ ボックスを取り消しました。 |
WIA_S_NO_DEVICE_AVAILABLE | lDeviceType パラメーターで指定された仕様に一致する WIA ハードウェア デバイスはありません。 |
解説
このメソッドは、[ デバイスの選択 ] ダイアログ ボックスを作成して表示し、ユーザーが画像取得用の WIA デバイスを選択できるようにします。 デバイスが正常に選択されると、 IWiaDevMgr::SelectDeviceDlg メソッドによって、デバイスの IWiaItem オブジェクトの階層ツリーが作成されます。 ルート項目の IWiaItem インターフェイスへのポインターをパラメーター ppItemRoot に格納します。
lDeviceType パラメーターを使用してデバイスの種類を指定することで、特定の種類のデバイスをユーザーに表示できます。 仕様を満たすデバイスが 1 つだけの場合、 IWiaDevMgr::SelectDeviceDlg は [ デバイスの選択 ] ダイアログ ボックスを表示しません。 代わりに、デバイスの IWiaItem ツリーを作成し、ルート項目の IWiaItem インターフェイスへのポインターをパラメーター ppItemRoot に格納します。 この動作をオーバーライドし、iWiaDevMgr::SelectDeviceDlg を強制的に表示するには、lFlags パラメーターの値として WIA_SELECT_DEVICE_NODEFAULTを渡します。
複数の WIA デバイスが仕様に一致する場合は、一致するすべてのデバイスが [ デバイスの選択 ] ダイアログ ボックスに表示されるため、ユーザーは 1 つを選択できます。
アプリケーションは、ppItemRoot パラメーターを介して受け取るインターフェイス ポインターで IUnknown::Release メソッドを呼び出す必要があります。
アプリケーションでは、[ファイル] メニューの [スキャナーまたはカメラから] という名前のメニュー項目を使用して、デバイスとイメージの選択を使用できるようにすることをお勧めします。
要件
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wia_xp.h (Wia.h を含む) |
Library | Wiaguid.lib |
[DLL] | Wiaservc.dll |