Win32 API 日本語リファレンス
ホームMedia.PictureAcquisition › IPhotoAcquire

IPhotoAcquire

COM
IID00f23353-e31b-4955-a8ad-ca5ebf31e2ce継承元IUnknown自前メソッド開始 vtbl3

メソッド 3

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

vtbl 3 HRESULT CreatePhotoSource(LPWSTR pszDevice, IPhotoAcquireSource** ppPhotoAcquireSource)
pszDeviceLPWSTRin取得元とするデバイスIDまたはパス。
ppPhotoAcquireSourceIPhotoAcquireSource**out生成された取得元オブジェクトIPhotoAcquireSourceを受け取る出力先。
vtbl 4 HRESULT Acquire(IPhotoAcquireSource* pPhotoAcquireSource, BOOL fShowProgress, HWND hWndParent, LPWSTR pszApplicationName, IPhotoAcquireProgressCB* pPhotoAcquireProgressCB)
pPhotoAcquireSourceIPhotoAcquireSource*inoptional取得処理を行う対象のIPhotoAcquireSourceポインタ。
fShowProgressBOOLin進捗ダイアログを表示するか否かを示すBOOL。
hWndParentHWNDinoptionalUIの親となるウィンドウハンドル。
pszApplicationNameLPWSTRinoptional進捗UIに表示するアプリケーション名。
pPhotoAcquireProgressCBIPhotoAcquireProgressCB*inoptional進捗通知を受け取るIPhotoAcquireProgressCBポインタ。NULL可。
vtbl 5 HRESULT EnumResults(IEnumString** ppEnumFilePaths)
ppEnumFilePathsIEnumString**out取得されたファイルパスを列挙するIEnumStringを受け取る出力先。

HSP用 COM定義

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

#define global IID_IPhotoAcquire "{00F23353-E31B-4955-A8AD-CA5EBF31E2CE}"
#usecom global IPhotoAcquire IID_IPhotoAcquire "{00F26E02-E9F2-4A9F-9FDD-5A962FB26A98}"
#comfunc global IPhotoAcquire_CreatePhotoSource  3 wstr,sptr
#comfunc global IPhotoAcquire_Acquire            4 sptr,int,sptr,wstr,sptr
#comfunc global IPhotoAcquire_EnumResults        5 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。