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 によって参照されるフォルダー内の各項目に対してこのメソッドを呼び出します。

実装では、 psfpidlItem の情報を 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 を含む)

こちらもご覧ください

IFolderFilter