Partager via


Méthode IFolderFilter ::ShouldShow (shobjidl_core.h)

Spécifie si un élément individuel doit être autorisé via le filtre et lequel doit être bloqué. En cas d’utilisation avec SHBrowseForFolder, spécifie les éléments qui doivent être affichés dans l’arborescence de la boîte de dialogue et ceux qui ne doivent pas être affichés. La détermination d’afficher ou de ne pas afficher un élément appartient à l’application.

Syntaxe

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

Paramètres

[in] psf

Type : IShellFolder*

Pointeur vers l’interface IShellFolder du dossier.

[in] pidlFolder

Type : PCIDLIST_ABSOLUTE

PIDL du dossier.

[in] pidlItem

Type : PCUITEMID_CHILD

PIDL relatif de l’élément enfant de pidlFolder en question.

Valeur retournée

Type : HRESULT

Retourne S_OK si l’élément doit être affiché, S_FALSE s’il ne doit pas être affiché, ou un code d’erreur standard si une erreur est rencontrée. Si une erreur est rencontrée, l’élément n’est pas affiché.

Remarques

L’hôte appelle cette méthode pour chaque élément du dossier auquel fait référence psf ou pidlFolder.

Il est recommandé que votre implémentation convertisse les informations psf et pidlItem en IShellItem, ce qui est plus facile à utiliser. L’exemple suivant illustre cela :

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (incluez Shobjidl.h)

Voir aussi

IFolderFilter