Share via


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