IFolderFilter::ShouldShow メソッド (shobjidl_core.h)
フィルターを介して個々のアイテムを許可し、ブロックする必要があるかどうかを指定します。 SHBrowseForFolder と共に使用する場合、ダイアログ ボックス ツリー ビューに表示する項目と表示しない項目を指定します。 項目を表示するか表示しないかの決定は、アプリケーションに対して行われます。
構文
HRESULT ShouldShow(
[in] IShellFolder *psf,
[in] PCIDLIST_ABSOLUTE pidlFolder,
[in] PCUITEMID_CHILD pidlItem
);
パラメーター
[in] psf
種類: IShellFolder*
フォルダーの IShellFolder インターフェイスへのポインター。
[in] pidlFolder
種類: PCIDLIST_ABSOLUTE
フォルダーの PIDL。
[in] pidlItem
種類: PCUITEMID_CHILD
対象の pidlFolder の子項目の相対 PIDL。
戻り値
種類: HRESULT
アイテムを表示する必要がある場合はS_OK、表示しない場合はS_FALSE、エラーが発生した場合は標準エラー コードを返します。 エラーが発生した場合、項目は表示されません。
注釈
ホストは 、psf または pidlFolder によって参照されるフォルダー内の各項目に対してこのメソッドを呼び出します。
実装では、 psf と pidlItem の情報を IShellItem に変換することをお勧めします。これは、使いやすくなっています。 次の例はこのことを示します。
STDMETHODIMP ShouldShow(IShellFolder *psf,
PCIDLIST_ABSOLUTE pidlFolder,
PCUITEMID_CHILD pidlItem)
{
IShellItem *psi;
HRESULT hr = SHCreateItemWithParent(NULL, psf, pidlItem, IID_PPV_ARGS(&psi));
if (SUCCEEDED(hr))
{
// Determine here whether the item should be shown. This determination
// is application-dependent.
psi->Release();
}
return hr;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | shobjidl_core.h (Shobjidl.h を含む) |