ホーム › Devices.ImageAcquisition › IWiaVideo
IWiaVideo
COMメソッド 13
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pbPreviewVisible | BOOL* | out | プレビュー映像が表示中かどうか(TRUE=表示)を受け取るBOOLの出力先。 |
| bPreviewVisible | BOOL | in | プレビュー映像の表示有無を設定するBOOL値。TRUEで表示、FALSEで非表示。 |
| pbstrImageDirectory | LPWSTR* | out | 撮影画像の保存先ディレクトリパスを受け取る出力文字列のアドレス。 |
| bstrImageDirectory | LPWSTR | in | 撮影画像の保存先ディレクトリパスを指定する文字列。 |
vtbl 7 HRESULT CreateVideoByWiaDevID(LPWSTR bstrWiaDeviceID, HWND hwndParent, BOOL bStretchToFitParent, BOOL bAutoBeginPlayback)
| bstrWiaDeviceID | LPWSTR | in | 対象WIAデバイスのデバイスID文字列。 |
| hwndParent | HWND | in | プレビュー映像を描画する親ウィンドウのハンドル。 |
| bStretchToFitParent | BOOL | in | 親ウィンドウに合わせて映像を伸縮させるかを指定するBOOL値。 |
| bAutoBeginPlayback | BOOL | in | 生成直後に自動で再生を開始するかを指定するBOOL値。 |
vtbl 8 HRESULT CreateVideoByDevNum(DWORD uiDeviceNumber, HWND hwndParent, BOOL bStretchToFitParent, BOOL bAutoBeginPlayback)
| uiDeviceNumber | DWORD | in | 対象デバイスを示す0始まりのデバイス番号。 |
| hwndParent | HWND | in | プレビュー映像を描画する親ウィンドウのハンドル。 |
| bStretchToFitParent | BOOL | in | 親ウィンドウに合わせて映像を伸縮させるかを指定するBOOL値。 |
| bAutoBeginPlayback | BOOL | in | 生成直後に自動で再生を開始するかを指定するBOOL値。 |
vtbl 9 HRESULT CreateVideoByName(LPWSTR bstrFriendlyName, HWND hwndParent, BOOL bStretchToFitParent, BOOL bAutoBeginPlayback)
| bstrFriendlyName | LPWSTR | in | 対象デバイスのフレンドリ名(表示名)を表す文字列。 |
| hwndParent | HWND | in | プレビュー映像を描画する親ウィンドウのハンドル。 |
| bStretchToFitParent | BOOL | in | 親ウィンドウに合わせて映像を伸縮させるかを指定するBOOL値。 |
| bAutoBeginPlayback | BOOL | in | 生成直後に自動で再生を開始するかを指定するBOOL値。 |
vtbl 10 HRESULT DestroyVideo()
vtbl 11 HRESULT Play()
vtbl 12 HRESULT Pause()
| pbstrNewImageFilename | LPWSTR* | out | 撮影した静止画の保存ファイル名を受け取る出力文字列のアドレス。 |
| bStretchToFitParent | BOOL | in | 親ウィンドウに合わせて映像を伸縮させるかを指定するBOOL値。 |
vtbl 15 HRESULT GetCurrentState(WIAVIDEO_STATE* pState)
| pState | WIAVIDEO_STATE* | out | ビデオの現在状態(WIAVIDEO_STATE列挙: 再生中/一時停止等)を受け取る出力先。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWiaVideo "{D52920AA-DB88-41F0-946C-E00DC0A19CFA}" #usecom global IWiaVideo IID_IWiaVideo "{3908C3CD-4478-4536-AF2F-10C25D4EF89A}" #comfunc global IWiaVideo_get_PreviewVisible 3 var #comfunc global IWiaVideo_put_PreviewVisible 4 int #comfunc global IWiaVideo_get_ImagesDirectory 5 var #comfunc global IWiaVideo_put_ImagesDirectory 6 wstr #comfunc global IWiaVideo_CreateVideoByWiaDevID 7 wstr,sptr,int,int #comfunc global IWiaVideo_CreateVideoByDevNum 8 int,sptr,int,int #comfunc global IWiaVideo_CreateVideoByName 9 wstr,sptr,int,int #comfunc global IWiaVideo_DestroyVideo 10 #comfunc global IWiaVideo_Play 11 #comfunc global IWiaVideo_Pause 12 #comfunc global IWiaVideo_TakePicture 13 var #comfunc global IWiaVideo_ResizeVideo 14 int #comfunc global IWiaVideo_GetCurrentState 15 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IWiaVideo "{D52920AA-DB88-41F0-946C-E00DC0A19CFA}" #usecom global IWiaVideo IID_IWiaVideo "{3908C3CD-4478-4536-AF2F-10C25D4EF89A}" #comfunc global IWiaVideo_get_PreviewVisible 3 sptr #comfunc global IWiaVideo_put_PreviewVisible 4 int #comfunc global IWiaVideo_get_ImagesDirectory 5 sptr #comfunc global IWiaVideo_put_ImagesDirectory 6 wstr #comfunc global IWiaVideo_CreateVideoByWiaDevID 7 wstr,sptr,int,int #comfunc global IWiaVideo_CreateVideoByDevNum 8 int,sptr,int,int #comfunc global IWiaVideo_CreateVideoByName 9 wstr,sptr,int,int #comfunc global IWiaVideo_DestroyVideo 10 #comfunc global IWiaVideo_Play 11 #comfunc global IWiaVideo_Pause 12 #comfunc global IWiaVideo_TakePicture 13 sptr #comfunc global IWiaVideo_ResizeVideo 14 int #comfunc global IWiaVideo_GetCurrentState 15 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。