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

IPhotoAcquirePlugin

COM
IID00f2dceb-ecb8-4f77-8e47-e7a987c83dd0継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 HRESULT Initialize(IPhotoAcquireSource* pPhotoAcquireSource, IPhotoAcquireProgressCB* pPhotoAcquireProgressCB)
pPhotoAcquireSourceIPhotoAcquireSource*inoptional処理対象の取得元を示すIPhotoAcquireSourceポインタ。
pPhotoAcquireProgressCBIPhotoAcquireProgressCB*inoptional進捗通知に用いるIPhotoAcquireProgressCBポインタ。
vtbl 4 HRESULT ProcessItem(DWORD dwAcquireStage, IPhotoAcquireItem* pPhotoAcquireItem, IStream* pOriginalItemStream, LPWSTR pszFinalFilename, IPropertyStore* pPropertyStore)
dwAcquireStageDWORDin処理段階を示すPHOTOACQ_*ステージ値。
pPhotoAcquireItemIPhotoAcquireItem*inoptional処理対象アイテムのIPhotoAcquireItemポインタ。
pOriginalItemStreamIStream*inoptional元アイテムデータを読むIStreamポインタ。
pszFinalFilenameLPWSTRin保存先となる最終ファイル名。
pPropertyStoreIPropertyStore*inoptionalアイテムのプロパティを操作するIPropertyStoreポインタ。
vtbl 5 HRESULT TransferComplete(HRESULT hr)
hrHRESULTin転送処理全体の結果を示すHRESULT。
vtbl 6 HRESULT DisplayConfigureDialog(HWND hWndParent)
hWndParentHWNDin設定ダイアログの親となるウィンドウハンドル。

HSP用 COM定義

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

#define global IID_IPhotoAcquirePlugin "{00F2DCEB-ECB8-4F77-8E47-E7A987C83DD0}"
#usecom global IPhotoAcquirePlugin IID_IPhotoAcquirePlugin "{}"
#comfunc global IPhotoAcquirePlugin_Initialize              3 sptr,sptr
#comfunc global IPhotoAcquirePlugin_ProcessItem             4 int,sptr,sptr,wstr,sptr
#comfunc global IPhotoAcquirePlugin_TransferComplete        5 int
#comfunc global IPhotoAcquirePlugin_DisplayConfigureDialog  6 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。