Win32 API 日本語リファレンス
ホームUI.Shell › IShellItemResources

IShellItemResources

COM
IIDff5693be-2ce0-4d48-b5c5-40817d1acdb9継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

Shell アイテムのリソースを操作および照会するためのメソッドを公開します。

メソッド 10

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

vtbl 3 HRESULT GetAttributes(DWORD* pdwAttributes)

リソース属性を取得します。

pdwAttributesDWORD*out

リソース属性へのポインター。属性値は以下のとおりです。

FILE_ATTRIBUTE_READONLY

値は 0x00000001 です。

FILE_ATTRIBUTE_HIDDEN

値は 0x00000002 です。

FILE_ATTRIBUTE_SYSTEM

値は 0x00000004 です。

FILE_ATTRIBUTE_DIRECTORY

値は 0x00000010 です。

FILE_ATTRIBUTE_ARCHIVE

値は 0x00000020 です。

FILE_ATTRIBUTE_ENCRYPTED

値は 0x00000040 です。

FILE_ATTRIBUTE_NORMAL

値は 0x00000080 です。

FILE_ATTRIBUTE_TEMPORARY

値は 0x00000100 です。

FILE_ATTRIBUTE_SPARSE_FILE

値は 0x00000200 です。

FILE_ATTRIBUTE_REPARSE_POINT

値は 0x00000400 です。

FILE_ATTRIBUTE_COMPRESSED

値は 0x00000800 です。

FILE_ATTRIBUTE_OFFLINE

値は 0x00001000 です。

FILE_ATTRIBUTE_CONTENT_INDEXED

値は 0x00002000 です。

FILE_ATTRIBUTE_VALID_FLAGS

値は 0x00001ff7 です。

FILE_ATTRIBUTE_VALID_SET_FLAGS

値は 0x000011a7 です。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT GetSize(ULONGLONG* pullSize)

ソースのサイズを取得します。

pullSizeULONGLONG*outソースのサイズへのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 5 HRESULT GetTimes(FILETIME* pftCreation, FILETIME* pftWrite, FILETIME* pftAccess)

ファイルの日時を取得します。

pftCreationFILETIME*out作成日時を表す FILETIME 構造体へのポインター。
pftWriteFILETIME*out書き込み日時を表す FILETIME 構造体へのポインター。
pftAccessFILETIME*outアクセス日時を表す FILETIME 構造体へのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT SetTimes(FILETIME* pftCreation, FILETIME* pftWrite, FILETIME* pftAccess)

ファイルの日時を設定します。

pftCreationFILETIME*in作成日時を表す FILETIME 構造体へのポインター。
pftWriteFILETIME*in書き込み日時を表す FILETIME 構造体へのポインター。
pftAccessFILETIME*inアクセス日時を表す FILETIME 構造体へのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT GetResourceDescription(SHELL_ITEM_RESOURCE* pcsir, LPWSTR* ppszDescription)

リソースの説明を取得します。

pcsirSHELL_ITEM_RESOURCE*inSHELL_ITEM_RESOURCE リソースへのポインター。
ppszDescriptionLPWSTR*outリソースの説明を表す Unicode 文字列へのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT EnumResources(IEnumResources** ppenumr)

リソース列挙子オブジェクトを取得します。

ppenumrIEnumResources**outIEnumResources インターフェイスポインターのアドレス。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 9 HRESULT SupportsResource(SHELL_ITEM_RESOURCE* pcsir)

アイテムが指定されたリソースをサポートするかどうかを取得します。

pcsirSHELL_ITEM_RESOURCE*inSHELL_ITEM_RESOURCE リソースへのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 10 HRESULT OpenResource(SHELL_ITEM_RESOURCE* pcsir, GUID* riid, void** ppv)

指定されたリソースを開きます。

pcsirSHELL_ITEM_RESOURCE*inSHELL_ITEM_RESOURCE リソースへのポインター。
riidGUID*in目的の IID への参照。
ppvvoid**outリソースへのポインターのアドレス。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 11 HRESULT CreateResource(SHELL_ITEM_RESOURCE* pcsir, GUID* riid, void** ppv)

指定されたリソースを作成します。

pcsirSHELL_ITEM_RESOURCE*inSHELL_ITEM_RESOURCE リソースへのポインター。
riidGUID*in目的の IID への参照。
ppvvoid**outリソースへのポインターのアドレス。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 12 HRESULT MarkForDelete()

削除対象としてマークします。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IShellItemResources "{FF5693BE-2CE0-4D48-B5C5-40817D1ACDB9}"
#usecom global IShellItemResources IID_IShellItemResources "{}"
#comfunc global IShellItemResources_GetAttributes           3 var
#comfunc global IShellItemResources_GetSize                 4 var
#comfunc global IShellItemResources_GetTimes                5 var,var,var
#comfunc global IShellItemResources_SetTimes                6 var,var,var
#comfunc global IShellItemResources_GetResourceDescription  7 var,var
#comfunc global IShellItemResources_EnumResources           8 sptr
#comfunc global IShellItemResources_SupportsResource        9 var
#comfunc global IShellItemResources_OpenResource            10 var,var,sptr
#comfunc global IShellItemResources_CreateResource          11 var,var,sptr
#comfunc global IShellItemResources_MarkForDelete           12
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。