IConditionFactory::Resolve 方法 (structuredquery.h)

在條件樹狀結構上執行各種轉換,包括下列各項:將具有相對日期/時間表達式的條件解析為具有絕對日期/時間的條件, (為VT_FILETIME) ;將其他已辨識的具名實體轉換成具有實際值的條件樹狀結構;簡化條件樹狀結構;以其他屬性的 OR 樹狀架構取代虛擬或複合屬性;拿掉沒有套用條件之屬性關鍵詞的查詢所產生的條件樹狀結構。

語法

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

參數

[in] pc

類型: ICondition*

要解析之 ICondition 物件的指標。

[in] sqro

類型: STRUCTURED_QUERY_RESOLVE_OPTION

指定零個或多個 STRUCTURED_QUERY_RESOLVE_OPTION 旗標。 針對 Windows 7 和更新版本,SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES旗標會自動新增至 sqro

[in] pstReferenceTime

類型: SYSTEMTIME const*

做為參考日期和時間之 SYSTEMTIME 值的指標。 如果 sqro 設定為 SQRO_DONT_RESOLVE_DATETIME,則可以傳遞 null 指標。

[out, retval] ppcResolved

類型: ICondition**

接收新 ICondition 的指標,其中所有時間欄位都已解析為具有類型VT_FILETIME的值。 這個新的條件樹狀結構是已 解析的計算機版本

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

Parse 方法所產生的條件樹狀結構中, GetQuery 傳回的條件樹狀結構中,會將屬性與這些屬性的限制配對,併產生部分完成的條件樹狀結構。 IConditionFactory::Resolve 方法會透過稱為解析的程式完成這類條件樹狀結構。 輸入條件樹狀結構不會以任何方式修改。 輸出條件樹狀結構可能會共用包含沒有未解析日期/時間值的分葉節點的輸入條件部分。

注意 解析分葉節點通常會產生非分葉節點。
 
例如,結構化查詢支持相對日期/時間表達式,直到套用至某些參考時間為止,這些表達式仍無法解析。 在語意類型 System.StructuredQueryType.DateTime 的分葉節點中,此值可以是VT_FILETIME或VT_LPWSTR。 VT_FILETIME是絕對日期/時間,因此已解決。 VT_LPWSTR是相對日期/時間表達式的字串表示。 指定的參考時間應該是當地時間,但產生的查詢表達式中的解析時間將會以國際標準時間 (UTC) 。

StructuredQuerySample 示範如何從控制台讀取行、使用系統架構剖析它們,以及顯示產生的條件樹狀結構。

規格需求

需求
最低支援的用戶端 Windows XP 搭配 SP2、Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 SP1 [僅限傳統型應用程式]
目標平台 Windows
標頭 structuredquery.h
可轉散發套件 Windows 桌面搜尋 (WDS) 3.0

另請參閱

CONDITION_OPERATION

CONDITION_TYPE

ICondition

ICondition2

IConditionFactory

IConditionFactory2

參考