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

IPhotoAcquireItem

COM
IID00f21c97-28bf-4c02-b842-5e4e90139a30継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

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

vtbl 3 HRESULT GetItemName(LPWSTR* pbstrItemName)
pbstrItemNameLPWSTR*out取得対象アイテムの名前を受け取る出力先。
vtbl 4 HRESULT GetThumbnail(SIZE sizeThumbnail, HBITMAP* phbmpThumbnail)
sizeThumbnailSIZEin要求するサムネイルのサイズを示すSIZE。
phbmpThumbnailHBITMAP*out生成されたサムネイルのHBITMAPを受け取る出力先。
vtbl 5 HRESULT GetProperty(PROPERTYKEY* key, PROPVARIANT* pv)
keyPROPERTYKEY*in取得するプロパティを示すPROPERTYKEYへのポインタ。
pvPROPVARIANT*out取得したプロパティ値を受け取るPROPVARIANTへのポインタ。
vtbl 6 HRESULT SetProperty(PROPERTYKEY* key, PROPVARIANT* pv)
keyPROPERTYKEY*in設定するプロパティを示すPROPERTYKEYへのポインタ。
pvPROPVARIANT*in設定するプロパティ値を格納したPROPVARIANTへのポインタ。
vtbl 7 HRESULT GetStream(IStream** ppStream)
ppStreamIStream**outアイテムデータを読むためのIStreamを受け取る出力先。
vtbl 8 HRESULT CanDelete(BOOL* pfCanDelete)
pfCanDeleteBOOL*outこのアイテムを削除可能かをBOOLで受け取る出力先。
vtbl 9 HRESULT Delete()
vtbl 10 HRESULT GetSubItemCount(DWORD* pnCount)
pnCountDWORD*outアイテムが持つサブアイテムの数を受け取る出力先。
vtbl 11 HRESULT GetSubItemAt(DWORD nItemIndex, IPhotoAcquireItem** ppPhotoAcquireItem)
nItemIndexDWORDin取得するサブアイテムの0始まりインデックス。
ppPhotoAcquireItemIPhotoAcquireItem**out指定サブアイテムのIPhotoAcquireItemを受け取る出力先。

HSP用 COM定義

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

出力引数:
#define global IID_IPhotoAcquireItem "{00F21C97-28BF-4C02-B842-5E4E90139A30}"
#usecom global IPhotoAcquireItem IID_IPhotoAcquireItem "{}"
#comfunc global IPhotoAcquireItem_GetItemName      3 var
#comfunc global IPhotoAcquireItem_GetThumbnail     4 int,sptr
#comfunc global IPhotoAcquireItem_GetProperty      5 var,var
#comfunc global IPhotoAcquireItem_SetProperty      6 var,var
#comfunc global IPhotoAcquireItem_GetStream        7 sptr
#comfunc global IPhotoAcquireItem_CanDelete        8 var
#comfunc global IPhotoAcquireItem_Delete           9
#comfunc global IPhotoAcquireItem_GetSubItemCount  10 var
#comfunc global IPhotoAcquireItem_GetSubItemAt     11 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。