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

IPhotoAcquireItem

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

公式ドキュメント

IPhotoAcquireItem インターフェイスは、デバイスから取得されるアイテムを操作するためのメソッドを提供します。

メソッド 9

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

vtbl 3 HRESULT GetItemName(LPWSTR* pbstrItemName)

GetItemName メソッドは、アイテムのファイル名を取得します。

pbstrItemNameLPWSTR*outアイテムの名前を格納する文字列へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

ファイル名は表示名と拡張子で構成されます。これは、Windows の フォルダー オプション ダイアログ ボックスで 登録されている拡張子は表示しない の設定がオンになっている場合でも同様です。

vtbl 4 HRESULT GetThumbnail(SIZE sizeThumbnail, HBITMAP* phbmpThumbnail)

GetThumbnail メソッドは、アイテムに対して提供されるサムネイルを取得します。

sizeThumbnailSIZEinサムネイルのサイズを指定します。
phbmpThumbnailHBITMAP*outサムネイル ビットマップへのハンドルを指定します。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 5 HRESULT GetProperty(PROPERTYKEY* key, PROPVARIANT* pv)

GetProperty メソッドは、アイテムのプロパティの値を取得します。

keyPROPERTYKEY*inプロパティのキーを指定します。
pvPROPVARIANT*outプロパティ値を格納するプロパティ バリアントへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

シェル オブジェクトであるアイテムの場合、SetProperty を使用してプロパティが設定または更新されていなければ、このメソッドはアイテムが提供する IPropertyStore オブジェクトに処理を委ねます。

vtbl 6 HRESULT SetProperty(PROPERTYKEY* key, PROPVARIANT* pv)

SetProperty メソッドは、アイテムのプロパティを設定します。

keyPROPERTYKEY*in設定するプロパティのキーを指定します。
pvPROPVARIANT*inプロパティに設定する値を格納するプロパティ バリアントへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

プロパティはメモリに格納されますが、ファイルには書き込まれません。

vtbl 7 HRESULT GetStream(IStream** ppStream)

GetStream メソッドは、アイテムの内容を格納する読み取り専用のストリームを取得します。

ppStreamIStream**outファイルの内容を格納したストリーム オブジェクトを返します。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 8 HRESULT CanDelete(BOOL* pfCanDelete)

CanDelete メソッドは、アイテムを削除できるかどうかを示します。

pfCanDeleteBOOL*outTRUE に設定されている場合にアイテムを削除できることを示すフラグへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 9 HRESULT Delete()

Delete メソッドは、アイテムを削除します。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

アイテムを削除できるかどうかを判断するには、先に CanDelete を呼び出します。

vtbl 10 HRESULT GetSubItemCount(DWORD* pnCount)

GetSubItemCount メソッドは、アイテムに含まれるサブアイテムの数を取得します。

pnCountDWORD*outサブアイテムの数を格納する整数へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

エラーが発生した場合、pnCountNULL に設定されます。

vtbl 11 HRESULT GetSubItemAt(DWORD nItemIndex, IPhotoAcquireItem** ppPhotoAcquireItem)

GetSubItemAt メソッドは、サブアイテムのインデックスを指定して、アイテムのサブアイテムを取得します。

nItemIndexDWORDinアイテムのインデックスを格納する整数。
ppPhotoAcquireItemIPhotoAcquireItem**out指定したインデックスにある IPhotoAcquireItem オブジェクトを返します。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

指定したインデックスにアイテムが見つからない場合、ppPhotoAcquireItemNULL に設定されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

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 指定が可能。