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

ISearchFolderItemFactory

COM
IIDa0ffbc28-5482-4366-be27-3e81e78e06c2継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

検索フォルダーを作成および変更するメソッドを公開します。

解説(Remarks)

このインターフェイスを実装するには、クラス ID CLSID_SearchFolderItemFactory を使用します。

メソッド 12

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

vtbl 3 HRESULT SetDisplayName(LPWSTR pszDisplayName)

指定した内容で、検索フォルダーの表示名を設定します。

pszDisplayNameLPWSTRinフォルダーの表示名を表す Unicode 文字列へのポインター。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

解説(Remarks)

このメソッドの呼び出しは必須です。表示名を設定する必要があります。

vtbl 4 HRESULT SetFolderTypeID(GUID ftid)

指定した内容で、検索フォルダーの種類 ID を設定します。

ftidGUIDinFOLDERTYPEID。システム内でフォルダーの種類を識別するために使用される GUID です。既定値は FOLDERTYPID_Library です。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

vtbl 5 HRESULT SetFolderLogicalViewMode(FOLDERLOGICALVIEWMODE flvm)

フォルダーの論理ビューモードを設定します。既定の設定は、ISearchFolderItemFactory::SetFolderTypeID メソッドで設定される FolderTypeID に基づきます。

flvmFOLDERLOGICALVIEWMODEinFOLDERLOGICALVIEWMODE 値。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

vtbl 6 HRESULT SetIconSize(INT iIconSize)

指定した内容で、検索フォルダーのアイコンサイズを設定します。既定の設定は、ISearchFolderItemFactory::SetFolderTypeID メソッドで設定される FolderTypeID に基づきます。

iIconSizeINTinアイコンサイズ。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

vtbl 7 HRESULT SetVisibleColumns(DWORD cVisibleColumns, PROPERTYKEY* rgKey)

PROPERTYKEY 構造体の配列を指定して、すべての列が表示される新しい列リストを作成します。既定値は FolderTypeID に基づきます。

cVisibleColumnsDWORDin配列要素の数。
rgKeyPROPERTYKEY*inPROPERTYKEY 構造体の配列へのポインター。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

vtbl 8 HRESULT SetSortColumns(DWORD cSortColumns, SORTCOLUMN* rgSortColumns)

指定した内容で、並べ替え列の方向のリストを作成します。

cSortColumnsDWORDin並べ替え列の数。
rgSortColumnsSORTCOLUMN*in並べ替え方向を含む SORTCOLUMN 構造体の配列へのポインター。既定値は PKEY_ItemNameDisplay です。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

vtbl 9 HRESULT SetGroupColumn(PROPERTYKEY* keyGroup)

指定した内容で、グループ化列を設定します。グループ化列を指定しない場合、グループ化は行われません。

keyGroupPROPERTYKEY*inグループ化列の PROPERTYKEY への参照。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

vtbl 10 HRESULT SetStacks(DWORD cStackKeys, PROPERTYKEY* rgStackKeys)

指定した内容で、スタックキーのリストを作成します。このメソッドが呼び出されない場合、既定ではフォルダーはスタック表示されません。

cStackKeysDWORDinスタックキーの数。
rgStackKeysPROPERTYKEY*inスタックキー情報を含む PROPERTYKEY 構造体の配列へのポインター。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

vtbl 11 HRESULT SetScope(IShellItemArray* psiaScope)

指定した内容で、検索スコープを設定します。

psiaScopeIShellItemArray*in検索対象となる場所のリストへのポインター。検索には、この場所とそのすべてのサブコンテナーが含まれます。既定値は FOLDERID_Profile です。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

vtbl 12 HRESULT SetCondition(ICondition* pCondition)

検索の ICondition を設定します。このメソッドが呼び出されない場合、結果として得られる検索にはフィルターが適用されません。

pConditionICondition*inICondition インターフェイスへのポインター。

戻り値

型: HRESULT

成功した場合は S_OK を、それ以外の場合はエラー値を返します。

vtbl 13 HRESULT GetShellItem(GUID* riid, void** ppv)

検索フォルダーを IShellItem として取得します。

riidGUID*in目的の IID への参照。
ppvvoid**outriid で指定した IShellItem インターフェイスポインター。

戻り値

型: HRESULT

成功した場合は成功値を、それ以外の場合はエラー値を返します。

解説(Remarks)

取得した IShellItem を列挙すると、検索結果が返されます。

vtbl 14 HRESULT GetIDList(ITEMIDLIST** ppidl)

検索フォルダーを ITEMIDLIST として取得します。

ppidlITEMIDLIST**outこのメソッドが正常に終了すると、PIDL が格納されます。

戻り値

型: 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_ISearchFolderItemFactory "{A0FFBC28-5482-4366-BE27-3E81E78E06C2}"
#usecom global ISearchFolderItemFactory IID_ISearchFolderItemFactory "{14010E02-BBBD-41F0-88E3-EDA371216584}"
#comfunc global ISearchFolderItemFactory_SetDisplayName            3 wstr
#comfunc global ISearchFolderItemFactory_SetFolderTypeID           4 int
#comfunc global ISearchFolderItemFactory_SetFolderLogicalViewMode  5 int
#comfunc global ISearchFolderItemFactory_SetIconSize               6 int
#comfunc global ISearchFolderItemFactory_SetVisibleColumns         7 int,var
#comfunc global ISearchFolderItemFactory_SetSortColumns            8 int,var
#comfunc global ISearchFolderItemFactory_SetGroupColumn            9 var
#comfunc global ISearchFolderItemFactory_SetStacks                 10 int,var
#comfunc global ISearchFolderItemFactory_SetScope                  11 sptr
#comfunc global ISearchFolderItemFactory_SetCondition              12 sptr
#comfunc global ISearchFolderItemFactory_GetShellItem              13 var,sptr
#comfunc global ISearchFolderItemFactory_GetIDList                 14 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。