Interface IFolderFilter (shobjidl_core.h)

Exposé par un client pour spécifier comment filtrer l’énumération d’un dossier Shell par une application serveur.

Héritage

L’interface IFolderFilter hérite de l’interface IUnknown. IFolderFilter a également les types de membres suivants :

Méthodes

L’interface IFolderFilter a ces méthodes.

 
IFolderFilter ::GetEnumFlags

Permet à un client de spécifier les classes d’objets d’un dossier Shell qui doivent être énumérées. Lorsqu’il est utilisé avec SHBrowseForFolder, spécifie la ou les classes d’éléments qui doivent être affichées dans l’arborescence de boîte de dialogue et quelles classes ne doivent pas être affichées.
IFolderFilter ::ShouldShow

Spécifie si un élément individuel doit être autorisé via le filtre et lequel doit être bloqué.

Remarques

Cette interface est le plus souvent utilisée avec SHBrowseForFolder pour filtrer le contenu de l’arborescence affichée dans une boîte de dialogue de sélection de dossiers. Pour utiliser IFolderFilter avec SHBrowseForFolder, l’indicateur BIF_NEWDIALOGSTYLE doit être défini.

Lorsque votre application appelle SHBrowseForFolder, vous devenez client de l’objet de navigateur de dossiers. L’objet de navigateur de dossiers communique avec vous en envoyant des messages à une fonction de rappel, BrowseCallbackProc. Le message BFFM_IUNKNOWN géré par cette fonction de rappel contient un pointeur vers l’interface IUnknown de l’navigateur de dossiers. Pour filtrer l’affichage du contenu d’un dossier, procédez comme suit :

  1. Utilisez la méthode QueryInterface de l’explorateur de dossiers pour demander un pointeur vers l’interface IFolderFilterSite .
  2. Appelez IFolderFilterSite ::SetFilter, en lui passant un pointeur vers votre interface IFolderFilter .
  3. L’explorateur de dossiers interroge ensuite IFolderFilter ::GetEnumFlags et IFolderFilter ::ShouldShow pour déterminer comment filtrer l’énumération.

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

IFolderFilterSite