IFolderFilter::ShouldShow-Methode (shobjidl_core.h)

Gibt an, ob ein einzelnes Element über den Filter zugelassen werden soll und welches blockiert werden soll. Gibt bei Verwendung mit SHBrowseForFolder an, welche Elemente in der Dialogfeldstrukturansicht angezeigt werden sollen und welche nicht. Die Bestimmung, ein Element anzuzeigen oder nicht, liegt bei der Anwendung.

Syntax

HRESULT ShouldShow(
  [in] IShellFolder      *psf,
  [in] PCIDLIST_ABSOLUTE pidlFolder,
  [in] PCUITEMID_CHILD   pidlItem
);

Parameter

[in] psf

Typ: IShellFolder*

Ein Zeiger auf die IShellFolder-Schnittstelle des Ordners.

[in] pidlFolder

Typ: PCIDLIST_ABSOLUTE

Die PIDL des Ordners.

[in] pidlItem

Typ: PCUITEMID_CHILD

Die relative PIDL des betreffenden untergeordneten Elements von pidlFolder .

Rückgabewert

Typ: HRESULT

Gibt S_OK zurück, wenn das Element angezeigt werden soll, S_FALSE, wenn es nicht angezeigt werden soll, oder einen Standardfehlercode, wenn ein Fehler auftritt. Wenn ein Fehler auftritt, wird das Element nicht angezeigt.

Hinweise

Der Host ruft diese Methode für jedes Element im Ordner auf, auf das von psf oder pidlFolder verwiesen wird.

Es wird empfohlen, dass Ihre Implementierung die Psf - und pidlItem-Informationen in ein IShellItem konvertiert, was einfacher zu nutzen ist. Dies wird im folgenden Beispiel veranschaulicht:

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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl_core.h (einschließlich Shobjidl.h)

Weitere Informationen

IFolderFilter