Partager via


Méthode IConditionFactory ::Resolve (structuredquery.h)

Effectue diverses transformations sur une arborescence de conditions, notamment les suivantes : résout les conditions avec des expressions de date/heure relatives en conditions avec une date/heure absolue (sous forme de VT_FILETIME) ; transforme d’autres entités nommées reconnues en arborescences de conditions avec des valeurs réelles ; simplifie les arborescences de conditions ; remplace les propriétés virtuelles ou composées par des arborescences OR d’autres propriétés ; supprime les arborescences de conditions résultant des requêtes avec des mots clés de propriété auxquels aucune condition n’a été appliquée.

Syntaxe

HRESULT Resolve(
  [in]          ICondition                      *pc,
  [in]          STRUCTURED_QUERY_RESOLVE_OPTION sqro,
  [in]          const SYSTEMTIME                *pstReferenceTime,
  [out, retval] ICondition                      **ppcResolved
);

Paramètres

[in] pc

Type : ICondition*

Pointeur vers un objet ICondition à résoudre.

[in] sqro

Type : STRUCTURED_QUERY_RESOLVE_OPTION

Spécifie zéro ou plus des indicateurs de STRUCTURED_QUERY_RESOLVE_OPTION . Pour Windows 7 et versions ultérieures, l’indicateur SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES est automatiquement ajouté à sqro.

[in] pstReferenceTime

Type : SYSTEMTIME const*

Pointeur vers une valeur SYSTEMTIME à utiliser comme date et heure de référence. Un pointeur null peut être passé si sqro a la valeur SQRO_DONT_RESOLVE_DATETIME.

[out, retval] ppcResolved

Type : ICondition**

Reçoit un pointeur vers la nouvelle ICondition dans laquelle tous les champs de temps ont été résolus pour avoir des valeurs de type VT_FILETIME. Cette nouvelle arborescence de conditions est la version résolue du pc.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Dans une arborescence de conditions produite par la méthode Parse et retournée par GetQuery, les feuilles associent des propriétés avec des restrictions sur ces propriétés, ce qui entraîne une arborescence de conditions partiellement terminée. La méthode IConditionFactory ::Resolve termine une telle arborescence de conditions par un processus appelé résolution. L’arborescence des conditions d’entrée n’est en aucun cas modifiée. L’arborescence des conditions de sortie peut partager des parties de la condition d’entrée qui ne contenaient aucun nœud feuille avec des valeurs de date/heure non résolues.

Note La résolution d’un nœud feuille produit souvent un nœud non feuille.
 
Par exemple, Structured Query prend en charge les expressions de date/heure relatives, qui restent non résolues jusqu’à ce qu’elles soient appliquées à une heure de référence. Dans un nœud feuille de type sémantique System.StructuredQueryType.DateTime, la valeur peut être un VT_FILETIME ou un VT_LPWSTR. VT_FILETIME est une date/heure absolue. Elle est donc déjà résolue. VT_LPWSTR est une représentation sous forme de chaîne d’une expression de date/heure relative. L’heure de référence spécifiée doit être une heure locale, mais les heures résolues dans l’expression de requête résultante seront en temps universel coordonné (UTC).

StructuredQuerySample montre comment lire des lignes à partir de la console, les analyser à l’aide du schéma système et afficher les arborescences de conditions résultantes.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 avec SP1 [applications de bureau uniquement]
Plateforme cible Windows
En-tête structuredquery.h
Composant redistribuable Windows Desktop Search (WDS) 3.0

Voir aussi

CONDITION_OPERATION

CONDITION_TYPE

ICondition

ICondition2

IConditionFactory

IConditionFactory2

Référence