Compartir a través de


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

Realiza una variedad de transformaciones en un árbol de condición, incluidas las siguientes: resuelve las condiciones con expresiones de fecha y hora relativas a condiciones con fecha y hora absolutas (como una VT_FILETIME); convierte otras entidades con nombre reconocidas en árboles de condición con valores reales; simplifica los árboles de condición; reemplaza las propiedades virtuales o compuestas por árboles OR de otras propiedades; quita árboles de condición resultantes de consultas con palabras clave de propiedad que no tenían ninguna condición aplicada.

Sintaxis

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

Parámetros

[in] pc

Tipo: ICondition*

Puntero a un objeto ICondition que se va a resolver.

[in] sqro

Tipo: STRUCTURED_QUERY_RESOLVE_OPTION

Especifica cero o más de las marcas de STRUCTURED_QUERY_RESOLVE_OPTION . Para Windows 7 y versiones posteriores, la marca SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES se agrega automáticamente a sqro.

[in] pstReferenceTime

Tipo: SYSTEMTIME const*

Puntero a un valor SYSTEMTIME que se va a usar como fecha y hora de referencia. Se puede pasar un puntero nulo si sqro está establecido en SQRO_DONT_RESOLVE_DATETIME.

[out, retval] ppcResolved

Tipo: ICondition**

Recibe un puntero al nuevo ICondition en el que todos los campos de tiempo se han resuelto para tener valores de tipo VT_FILETIME. Este nuevo árbol de condición es la versión resuelta de pc.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

En un árbol de condición generado por el método Parse y devuelto por GetQuery, las hojas emparejan las propiedades con restricciones en estas propiedades y dan lugar a un árbol de condición que finaliza parcialmente. El método IConditionFactory::Resolve finaliza este árbol de condiciones por un proceso conocido como resolución. El árbol de condición de entrada no se modifica de ninguna manera. El árbol de condición de salida puede compartir partes de la condición de entrada que no contenían nodos hoja con valores de fecha y hora sin resolver.

Nota La resolución de un nodo hoja a menudo genera un nodo que no es hoja.
 
Por ejemplo, Structured Query admite expresiones de fecha y hora relativas, que permanecen sin resolver hasta que se aplican a alguna hora de referencia. En un nodo hoja con tipo semántico System.StructuredQueryType.DateTime, el valor puede ser un VT_FILETIME o un VT_LPWSTR. VT_FILETIME es una fecha y hora absolutas, por lo que ya se ha resuelto. VT_LPWSTR es una representación de cadena de una expresión de fecha y hora relativa. La hora de referencia especificada debe ser una hora local, pero las horas resueltas de la expresión de consulta resultante estarán en hora universal coordinada (UTC).

StructuredQuerySample muestra cómo leer líneas de la consola, analizarlas mediante el esquema del sistema y mostrar los árboles de condición resultantes.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP2, Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 con SP1 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado structuredquery.h
Redistribuible Búsqueda de escritorio de Windows (WDS) 3.0

Consulte también

CONDITION_OPERATION

CONDITION_TYPE

ICondition

ICondition2

IConditionFactory

IConditionFactory2

Referencia