IMAPIContainer::GetSearchCriteria
S’applique à : Outlook 2013 | Outlook 2016
Obtient les critères de recherche du conteneur.
HRESULT GetSearchCriteria(
ULONG ulFlags,
LPSRestriction FAR * lppRestriction,
LPENTRYLIST FAR * lppContainerList,
ULONG FAR * lpulSearchState
);
Paramètres
ulFlags
[in] Masque de bits d’indicateurs qui contrôle le type des chaînes passées. L’indicateur suivant peut être défini :
MAPI_UNICODE
Les chaînes transmises sont au format Unicode. Si l’indicateur MAPI_UNICODE n’est pas défini, les chaînes sont au format ANSI.
lppRestriction
[out] Pointeur vers un pointeur vers une structure SRestriction qui définit les critères de recherche. Si une application cliente passe NULL dans le paramètre lppRestriction , GetSearchCriteria ne retourne pas de structure SRestriction .
lppContainerList
[out] Pointeur vers un tableau d’identificateurs d’entrée qui représentent les conteneurs à inclure dans la recherche. Si un client transmet NULL dans le paramètre lppContainerList , GetSearchCriteria ne retourne pas de tableau d’identificateurs d’entrée.
lpulSearchState
[out] Pointeur vers un masque de bits d’indicateurs utilisé pour indiquer l’état actuel de la recherche. Si un client passe NULL dans le paramètre lpulSearchState , GetSearchCriteria ne retourne aucun indicateur. Les indicateurs suivants peuvent être définis :
SEARCH_FOREGROUND (0x1)
La recherche doit s’exécuter avec une priorité élevée par rapport aux autres recherches. Si cet indicateur n’est pas défini, la recherche s’exécute avec une priorité normale par rapport aux autres recherches.
SEARCH_REBUILD (0x2)
La recherche est en mode gourmand en uc de son fonctionnement, essayant de localiser les messages qui correspondent aux critères. Si cet indicateur n’est pas défini, la partie gourmande en ressources processeur de l’opération de recherche est terminée. Cet indicateur a une signification uniquement si la recherche est active (autrement dit, si l’indicateur SEARCH_RUNNING est défini).
SEARCH_RECURSIVE (0x4)
La recherche recherche des entrées correspondantes dans les conteneurs spécifiés et tous leurs conteneurs enfants. Si cet indicateur n’est pas défini, seuls les conteneurs explicitement inclus dans le dernier appel à la méthode IMAPIContainer ::SetSearchCriteria font l’objet d’une recherche.
SEARCH_RUNNING (0x8)
La recherche est active et la table du contenu du conteneur est mise à jour pour refléter les modifications apportées au magasin de messages ou au carnet d’adresses. Si cet indicateur n’est pas défini, la recherche est inactive et la table de contenu est statique.
SEARCH_COMPLETE (0x1000)
Les résultats de la recherche sont terminés.
SEARCH_PARTIAL (0x2000)
Seules certaines parties des messages ont été incluses.
SEARCH_STATIC (0x10000)
La recherche est statique.
SEARCH_MAYBE_STATIC (0x20000)
La recherche est toujours en cours d’évaluation.
CI_TOTALLY (0x1000000)
La recherche s’effectue exclusivement à l’aide de l’indexation de contenu.
CI_WITH_TWIR_RESIDUAL (0x2000000)
TWIR_MOSTLY (0x4000000)
TWIR_TOTALLY (0x8000000)
La recherche s’effectue sans recourir à l’indexation de contenu et à l’utilisation exclusive de tables avec des restrictions.
Valeur renvoyée
S_OK
Les critères de recherche ont été obtenus avec succès.
MAPI_E_BAD_CHARWIDTH
Soit l’indicateur MAPI_UNICODE a été défini et l’implémentation ne prend pas en charge Unicode, soit MAPI_UNICODE n’a pas été défini et l’implémentation prend uniquement en charge Unicode.
MAPI_E_NOT_INITIALIZED
Les critères de recherche n’ont jamais été établis pour le conteneur.
Remarques
La méthode IMAPIContainer ::GetSearchCriteria obtient les critères de recherche d’un conteneur qui prend en charge les recherches, généralement un dossier de résultats de recherche. Vous créez des critères de recherche en appelant la méthode IMAPIContainer ::SetSearchCriteria d’un conteneur.
Remarques pour les responsables de l’implémentation
Les conteneurs de carnets d’adresses peuvent avoir besoin de prendre en charge GetSearchCriteria uniquement s’ils fournissent les fonctionnalités de recherche avancées associées à la propriété PR_SEARCH (PidTagSearch). Pour plus d’informations sur la façon d’implémenter la fonctionnalité de recherche avancée pour les conteneurs de carnet d’adresses, consultez Implémentation de la recherche avancée.
Remarques pour les appelants
Lorsque vous avez terminé avec les structures de données pointées par les paramètres lppRestriction et lppContainerList , appelez MAPIFreeBuffer une fois pour que chaque structure soit libérée.
Référence MFCMAPI
Pour voir un exemple de code MFCMAPI, consultez le tableau suivant.
Fichier | Fonction | Commentaire |
---|---|---|
HierarchyTableDlg.cpp |
CHierarchyTableDlg ::OnEditSearchCriteria |
MFCMAPI utilise la méthode IMAPIContainer ::GetSearchCriteria pour obtenir des critères de recherche à partir d’un dossier à afficher. |
Voir aussi
IMAPIContainer::SetSearchCriteria