Win32 API 日本語リファレンス
ホームSystem.WindowsProgramming › ICameraUIControl

ICameraUIControl

COM
IIDb8733adf-3d68-4b8f-bb08-e28a0bed0376継承元IUnknown自前メソッド開始 vtbl3

メソッド 8

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Show(IUnknown* pWindow, CameraUIControlMode mode, CameraUIControlLinearSelectionMode selectionMode, CameraUIControlCaptureMode captureMode, CameraUIControlPhotoFormat photoFormat, CameraUIControlVideoFormat videoFormat, BOOL bHasCloseButton, ICameraUIControlEventCallback* pEventCallback)
pWindowIUnknown*inカメラ UI の親となるウィンドウを表す IUnknown インターフェイスへのポインタを指定する。
modeCameraUIControlModeinカメラ UI の表示モード(ブラウズまたはリニア)を指定する CameraUIControlMode である。
selectionModeCameraUIControlLinearSelectionModeinリニアモードでの選択方式を指定する CameraUIControlLinearSelectionMode である。
captureModeCameraUIControlCaptureModein写真・動画・両方のいずれをキャプチャ対象とするかを指定する CameraUIControlCaptureMode である。
photoFormatCameraUIControlPhotoFormatin写真キャプチャに使用するファイル形式を指定する CameraUIControlPhotoFormat である。
videoFormatCameraUIControlVideoFormatin動画キャプチャに使用するファイル形式を指定する CameraUIControlVideoFormat である。
bHasCloseButtonBOOLinUI に閉じるボタンを表示するかどうかを指定する BOOL である。
pEventCallbackICameraUIControlEventCallback*inoptional項目のキャプチャや削除などのイベント通知を受け取るコールバックを表す ICameraUIControlEventCallback へのポインタを指定する。
vtbl 4 HRESULT Close()
vtbl 5 HRESULT Suspend(BOOL* pbDeferralRequired)
pbDeferralRequiredBOOL*out中断処理に遅延(deferral)が必要かどうかを受け取る BOOL へのポインタである。
vtbl 6 HRESULT Resume()
vtbl 7 HRESULT GetCurrentViewType(CameraUIControlViewType* pViewType)
pViewTypeCameraUIControlViewType*out現在の表示ビューの種類を受け取る CameraUIControlViewType へのポインタである。
vtbl 8 HRESULT GetActiveItem(LPWSTR* pbstrActiveItemPath)
pbstrActiveItemPathLPWSTR*outoptional現在アクティブな項目のファイルパスを受け取る文字列ポインタである。
vtbl 9 HRESULT GetSelectedItems(SAFEARRAY** ppSelectedItemPaths)
ppSelectedItemPathsSAFEARRAY**out選択されている項目のパスを格納した SAFEARRAY を受け取るポインタである。
vtbl 10 HRESULT RemoveCapturedItem(LPWSTR pszPath)
pszPathLPWSTRin削除対象とするキャプチャ済み項目のファイルパスを指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ICameraUIControl "{B8733ADF-3D68-4B8F-BB08-E28A0BED0376}"
#usecom global ICameraUIControl IID_ICameraUIControl "{16D5A2BE-B1C5-47B3-8EAE-CCBCF452C7E8}"
#comfunc global ICameraUIControl_Show                3 sptr,int,int,int,int,int,int,sptr
#comfunc global ICameraUIControl_Close               4
#comfunc global ICameraUIControl_Suspend             5 var
#comfunc global ICameraUIControl_Resume              6
#comfunc global ICameraUIControl_GetCurrentViewType  7 var
#comfunc global ICameraUIControl_GetActiveItem       8 var
#comfunc global ICameraUIControl_GetSelectedItems    9 var
#comfunc global ICameraUIControl_RemoveCapturedItem  10 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。