共用方式為


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;如果遇到錯誤,則傳回標準錯誤碼。 如果發生錯誤,則不會顯示專案。

備註

主機會針對 psfpidlFolder 所參考之資料夾中的每個專案呼叫這個方法。

建議您的實作將 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