ホーム › Devices.ImageAcquisition › IWiaDevMgr2
IWiaDevMgr2
COMメソッド 8
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT EnumDeviceInfo(INT lFlags, IEnumWIA_DEV_INFO** ppIEnum)
| lFlags | INT | in | 列挙する情報量を示すフラグ。WIA_DEVINFO_ENUM_LOCAL等を指定する。 |
| ppIEnum | IEnumWIA_DEV_INFO** | out | デバイス情報列挙子IEnumWIA_DEV_INFOを受け取る出力ポインタ。 |
| lFlags | INT | in | 作成動作を制御するフラグ。現状は0を指定する。 |
| bstrDeviceID | LPWSTR | in | 接続対象デバイスのIDを示すBSTR文字列。 |
| ppWiaItem2Root | IWiaItem2** | out | 生成されたデバイスのルートアイテムIWiaItem2を受け取る出力ポインタ。 |
vtbl 5 HRESULT SelectDeviceDlg(HWND hwndParent, INT lDeviceType, INT lFlags, LPWSTR* pbstrDeviceID, IWiaItem2** ppItemRoot)
| hwndParent | HWND | in | デバイス選択ダイアログの親ウィンドウハンドル。 |
| lDeviceType | INT | in | 選択対象のデバイス種別。StiDeviceTypeScanner等を指定する。 |
| lFlags | INT | in | ダイアログ動作フラグ。WIA_SELECT_DEVICE_NODEFAULT等を指定する。 |
| pbstrDeviceID | LPWSTR* | inout | 選択されたデバイスIDを受け取るBSTRへのポインタ。 |
| ppItemRoot | IWiaItem2** | out | 選択デバイスのルートアイテムIWiaItem2を受け取る出力ポインタ。 |
vtbl 6 HRESULT SelectDeviceDlgID(HWND hwndParent, INT lDeviceType, INT lFlags, LPWSTR* pbstrDeviceID)
| hwndParent | HWND | in | デバイス選択ダイアログの親ウィンドウハンドル。 |
| lDeviceType | INT | in | 選択対象のデバイス種別。StiDeviceTypeScanner等を指定する。 |
| lFlags | INT | in | ダイアログ動作フラグ。WIA_SELECT_DEVICE_NODEFAULT等を指定する。 |
| pbstrDeviceID | LPWSTR* | inout | 選択されたデバイスIDのみを受け取るBSTRへのポインタ。 |
vtbl 7 HRESULT RegisterEventCallbackInterface(INT lFlags, LPWSTR bstrDeviceID, GUID* pEventGUID, IWiaEventCallback* pIWiaEventCallback, IUnknown** pEventObject)
| lFlags | INT | in | 登録/解除を示すフラグ。WIA_REGISTER_EVENT_CALLBACK等を指定する。 |
| bstrDeviceID | LPWSTR | in | 対象デバイスのIDを示すBSTR文字列。NULLで全デバイス対象。 |
| pEventGUID | GUID* | in | 登録対象イベントを識別するGUIDへのポインタ。 |
| pIWiaEventCallback | IWiaEventCallback* | in | イベント受信を行うIWiaEventCallback実装へのポインタ。 |
| pEventObject | IUnknown** | out | 登録解除に使う接続オブジェクトを受け取る出力ポインタ。 |
vtbl 8 HRESULT RegisterEventCallbackProgram(INT lFlags, LPWSTR bstrDeviceID, GUID* pEventGUID, LPWSTR bstrFullAppName, LPWSTR bstrCommandLineArg, LPWSTR bstrName, LPWSTR bstrDescription, LPWSTR bstrIcon)
| lFlags | INT | in | 登録/解除を示すフラグ。WIA_REGISTER_EVENT_CALLBACK等を指定する。 |
| bstrDeviceID | LPWSTR | in | 対象デバイスのIDを示すBSTR文字列。 |
| pEventGUID | GUID* | in | 登録対象イベントを識別するGUIDへのポインタ。 |
| bstrFullAppName | LPWSTR | in | イベント時に起動するアプリの完全パスを示すBSTR文字列。 |
| bstrCommandLineArg | LPWSTR | in | 起動アプリへ渡すコマンドライン引数を示すBSTR文字列。 |
| bstrName | LPWSTR | in | 登録するハンドラの表示名を示すBSTR文字列。 |
| bstrDescription | LPWSTR | in | 登録するハンドラの説明を示すBSTR文字列。 |
| bstrIcon | LPWSTR | in | ハンドラのアイコン位置を示すBSTR文字列。 |
vtbl 9 HRESULT RegisterEventCallbackCLSID(INT lFlags, LPWSTR bstrDeviceID, GUID* pEventGUID, GUID* pClsID, LPWSTR bstrName, LPWSTR bstrDescription, LPWSTR bstrIcon)
| lFlags | INT | in | 登録/解除を示すフラグ。WIA_REGISTER_EVENT_CALLBACK等を指定する。 |
| bstrDeviceID | LPWSTR | in | 対象デバイスのIDを示すBSTR文字列。 |
| pEventGUID | GUID* | in | 登録対象イベントを識別するGUIDへのポインタ。 |
| pClsID | GUID* | in | 起動するCOMサーバーのCLSIDへのポインタ。 |
| bstrName | LPWSTR | in | 登録するハンドラの表示名を示すBSTR文字列。 |
| bstrDescription | LPWSTR | in | 登録するハンドラの説明を示すBSTR文字列。 |
| bstrIcon | LPWSTR | in | ハンドラのアイコン位置を示すBSTR文字列。 |
vtbl 10 HRESULT GetImageDlg(INT lFlags, LPWSTR bstrDeviceID, HWND hwndParent, LPWSTR bstrFolderName, LPWSTR bstrFilename, INT* plNumFiles, LPWSTR** ppbstrFilePaths, IWiaItem2** ppItem)
| lFlags | INT | in | ダイアログ動作フラグ。現状は0を指定する。 |
| bstrDeviceID | LPWSTR | in | 対象デバイスのIDを示すBSTR文字列。 |
| hwndParent | HWND | in | 画像取得ダイアログの親ウィンドウハンドル。 |
| bstrFolderName | LPWSTR | in | 取得画像の保存先フォルダを示すBSTR文字列。 |
| bstrFilename | LPWSTR | in | 保存ファイル名のテンプレートを示すBSTR文字列。 |
| plNumFiles | INT* | inout | 保存されたファイル数を受け取るポインタ。 |
| ppbstrFilePaths | LPWSTR** | inout | 保存された各ファイルパスの配列を受け取る出力ポインタ。 |
| ppItem | IWiaItem2** | out | 取得元のルートアイテムIWiaItem2を受け取る出力ポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWiaDevMgr2 "{79C07CF1-CBDD-41EE-8EC3-F00080CADA7A}" #usecom global IWiaDevMgr2 IID_IWiaDevMgr2 "{B6C292BC-7C88-41EE-8B54-8EC92617E599}" #comfunc global IWiaDevMgr2_EnumDeviceInfo 3 int,sptr #comfunc global IWiaDevMgr2_CreateDevice 4 int,wstr,sptr #comfunc global IWiaDevMgr2_SelectDeviceDlg 5 sptr,int,int,var,sptr #comfunc global IWiaDevMgr2_SelectDeviceDlgID 6 sptr,int,int,var #comfunc global IWiaDevMgr2_RegisterEventCallbackInterface 7 int,wstr,var,sptr,sptr #comfunc global IWiaDevMgr2_RegisterEventCallbackProgram 8 int,wstr,var,wstr,wstr,wstr,wstr,wstr #comfunc global IWiaDevMgr2_RegisterEventCallbackCLSID 9 int,wstr,var,var,wstr,wstr,wstr #comfunc global IWiaDevMgr2_GetImageDlg 10 int,wstr,sptr,wstr,wstr,var,var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IWiaDevMgr2 "{79C07CF1-CBDD-41EE-8EC3-F00080CADA7A}" #usecom global IWiaDevMgr2 IID_IWiaDevMgr2 "{B6C292BC-7C88-41EE-8B54-8EC92617E599}" #comfunc global IWiaDevMgr2_EnumDeviceInfo 3 int,sptr #comfunc global IWiaDevMgr2_CreateDevice 4 int,wstr,sptr #comfunc global IWiaDevMgr2_SelectDeviceDlg 5 sptr,int,int,sptr,sptr #comfunc global IWiaDevMgr2_SelectDeviceDlgID 6 sptr,int,int,sptr #comfunc global IWiaDevMgr2_RegisterEventCallbackInterface 7 int,wstr,sptr,sptr,sptr #comfunc global IWiaDevMgr2_RegisterEventCallbackProgram 8 int,wstr,sptr,wstr,wstr,wstr,wstr,wstr #comfunc global IWiaDevMgr2_RegisterEventCallbackCLSID 9 int,wstr,sptr,sptr,wstr,wstr,wstr #comfunc global IWiaDevMgr2_GetImageDlg 10 int,wstr,sptr,wstr,wstr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。