IConditionFactory::Resolve-Methode (structuredquery.h)

Führt eine Vielzahl von Transformationen für eine Bedingungsstruktur aus, einschließlich der folgenden: löst Bedingungen mit relativen Datums-/Uhrzeitausdrücken in Bedingungen mit absolutem Datum/Uhrzeit auf (als VT_FILETIME); wandelt andere erkannte benannte Entitäten in Bedingungsstrukturen mit tatsächlichen Werten um; vereinfacht Bedingungsstrukturen; ersetzt virtuelle oder zusammengesetzte Eigenschaften durch OR-Strukturen anderer Eigenschaften; entfernt Bedingungsstrukturen, die sich aus Abfragen mit Eigenschaftsschlüsselwörtern ergeben, für die keine Bedingung angewendet wurde.

Syntax

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

Parameter

[in] pc

Typ: ICondition*

Ein Zeiger auf ein zu auflösende ICondition-Objekt .

[in] sqro

Typ: STRUCTURED_QUERY_RESOLVE_OPTION

Gibt null oder mehr der STRUCTURED_QUERY_RESOLVE_OPTION-Flags an. Für Windows 7 und höher wird das flag SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES automatisch zu sqro hinzugefügt.

[in] pstReferenceTime

Typ: SYSTEMTIME const*

Ein Zeiger auf einen SYSTEMTIME-Wert , der als Verweisdatum und -uhrzeit verwendet werden soll. Ein NULL-Zeiger kann übergeben werden, wenn sqro auf SQRO_DONT_RESOLVE_DATETIME festgelegt ist.

[out, retval] ppcResolved

Typ: ICondition**

Empfängt einen Zeiger auf die neue ICondition , in der alle Zeitfelder aufgelöst wurden, um Werte vom Typ VT_FILETIME zu haben. Diese neue Bedingungsstruktur ist die aufgelöste Version von pc.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

In einer Bedingungsstruktur, die von der Parse-Methode erstellt und von GetQuery zurückgegeben wird, koppelt das -Paar Eigenschaften mit Einschränkungen für diese Eigenschaften und führt zu einer Bedingungsstruktur, die teilweise abgeschlossen ist. Die IConditionFactory::Resolve-Methode schließt eine solche Bedingungsstruktur durch einen Prozess ab, der als Auflösung bezeichnet wird. Die Eingabebedingungsstruktur wird in keiner Weise geändert. Die Ausgabebedingungsstruktur kann Teile der Eingabebedingung gemeinsam nutzen, die keine Blattknoten mit nicht aufgelösten Datums-/Uhrzeitwerten enthielten.

Hinweis Beim Auflösen eines Blattknotens entsteht häufig ein Nicht-Blattknoten.
 
Strukturierte Abfrage unterstützt beispielsweise relative Datums-/Uhrzeitausdrücke, die nicht aufgelöst werden, bis sie auf eine Referenzzeit angewendet werden. In einem Blattknoten mit dem semantischen Typ System.StructuredQueryType.DateTime kann der Wert entweder ein VT_FILETIME oder ein VT_LPWSTR sein. VT_FILETIME ist ein absolutes Datum/eine absolute Uhrzeit, sodass es bereits aufgelöst ist. VT_LPWSTR ist eine Zeichenfolgendarstellung eines relativen Datums-/Uhrzeitausdrucks. Die angegebene Referenzzeit sollte eine Ortszeit sein, aber die aufgelösten Zeiten im resultierenden Abfrageausdruck sind in koordinierter Weltzeit (UTC).

StructuredQuerySample veranschaulicht, wie Zeilen aus der Konsole gelesen, mithilfe des Systemschemas analysiert und die resultierenden Bedingungsstrukturen angezeigt werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 mit SP1 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile structuredquery.h
Verteilbare Komponente Windows Desktop Search (WDS) 3.0

Weitere Informationen

CONDITION_OPERATION

CONDITION_TYPE

ICondition

ICondition2

IConditionFactory

IConditionFactory2

Referenz