PAYLOAD_FILTER_PREDICATE結構 (tdh.h)

PAYLOAD_FILTER_PREDICATE結構會定義事件承載篩選述詞,描述如何篩選追蹤會話中的單一欄位。

語法

typedef struct _PAYLOAD_FILTER_PREDICATE {
  LPWSTR FieldName;
  USHORT CompareOp;
  LPWSTR Value;
} PAYLOAD_FILTER_PREDICATE, *PPAYLOAD_FILTER_PREDICATE;

成員

FieldName

要篩選封裝資訊清單中的功能變數名稱。

CompareOp

要用於比較的承載運算子。

這個成員可以是Tdh.h標頭檔中所定義PAYLOAD_OPERATOR列舉的其中一個值。

意義
PAYLOADFIELD_EQ
0
FieldName參數的值等於Value成員中字串的數值。

這個運算子用於比較整數,而且需要 Value 成員中的一個值。

PAYLOADFIELD_NE
1
FieldName參數的值不等於Value成員中字串的數值。

這個運算子用於比較整數,而且需要 Value 成員中的一個值。

PAYLOADFIELD_LE
2
FieldName參數的值小於或等於Value成員中字串的數值。

這個運算子用於比較整數,而且需要 Value 成員中的一個值。

PAYLOADFIELD_GT
3
FieldName參數的值大於Value成員中字串的數值。

這個運算子用於比較整數,而且需要 Value 成員中的一個值。

PAYLOADFIELD_LT
4
FieldName參數的值小於Value成員中字串的數值。

這個運算子用於比較整數,而且需要 Value 成員中的一個值。

PAYLOADFIELD_GE
5
FieldName參數的值大於或等於Value成員中字串的數值。

這個運算子用於比較整數,而且需要 Value 成員中的一個值。

PAYLOADFIELD_BETWEEN
6
FieldName參數的值介於Value成員字串中的兩個數值之間。 PAYLOADFIELD_BETWEEN運算子會使用 (LowerBound = FieldValue < = UpperBound <) 的封閉間隔。

這個運算子用於比較整數,而且 需要 Value 成員中的兩個值。 這兩個值應該以逗號字元分隔 (',') 。

PAYLOADFIELD_NOTBETWEEN
7
FieldName參數的值不在Value成員字串中的兩個數值之間。

這個運算子用於比較整數,而且 需要 Value 成員中的兩個值。 這兩個值應該以逗號字元分隔 (',') 。

PAYLOADFIELD_MODULO
8
FieldName參數的值是Value成員中字串中數值的模數。 運算子可用於定期取樣。

這個運算子用於比較整數,而且需要 Value 成員中的一個值。

PAYLOADFIELD_CONTAINS
20
FieldName參數的值包含Value成員中的子字串值。 字串比較不區分大小寫。

這個運算子用於比較字串,而且 需要 Value 成員中的一個值。

PAYLOADFIELD_DOESNTCONTAIN
21
FieldName參數的值不包含Value成員中的子字串。 字串比較不區分大小寫。

這個運算子用於比較字串,而且 需要 Value 成員中的一個值。

PAYLOADFIELD_IS
30
FieldName參數的值與Value成員中的字串值相同。 字串比較不區分大小寫。

這個運算子是用來比較字串或其他非整數值,而且需要 Value 成員中的一個值。

PAYLOADFIELD_ISNOT
31
FieldName參數的值與Value成員中的字串值不同。 字串比較不區分大小寫。

這個運算子是用來比較字串或其他非整數值,而且需要 Value 成員中的一個值。

PAYLOADFIELD_INVALID
32
不正確承載運算子值。

Value

字串,包含要根據 CompareOp 成員比較的一或值。

備註

在 Windows 8.1、Windows Server 2012 R2 及更新版本上,EnableTraceEx2函式和ENABLE_TRACE_PARAMETERSEVENT_FILTER_DESCRIPTOR結構可以使用事件承載篩選準則,以篩選記錄器會話中事件的特定內容。

PAYLOAD_FILTER_PREDICATE結構會與TdhCreatePayloadFilter 函式搭配使用,以建立單一承載篩選器,讓單一承載與EnableTraceEx2函式搭配使用。 使用 TdhAggregatePayloadFilters 函式,也可以與其他單一承載篩選準則匯總單一承載篩選準則。

每個欄位都有提供者資訊清單中指定的類型,可用於PAYLOAD_FILTER_PREDICATE結構的Fieldname成員,以篩選該欄位。

CompareOp成員會指定要用於承載篩選的運算子。 承載篩選支援篩選字串 (包括 GUID) 和整數 , (包括 TDH_INTYPE_FILETIME) 。 不支援篩選浮點數、二進位 Blob (包括 TDH_INTYPE_POINTER) ,以及 SIDSYSTEMTIME) 結構化資料 (。

Value成員包含要與Fieldname成員值比較的值或值的字串。 Value成員會從字串轉換為資訊清單中指定的Fieldname成員類型。

所有字串比較都區分大小寫。 Value成員中的字串是 UNICODE,但如果資訊清單中指定的類型是 ANSI,則會轉換成 ANSI。

只有在CompareOp成員包含承載運算子的PAYLOADFIELD_ISPAYLOADFIELD_ISNOT時,才能比較包含GUIDFieldname成員。 代表Value成員中GUID的字串必須包含大括弧 ({00000000-0000-0000-0000-000000000000} ,例如) 。

範例

如需使用 PAYLOAD_FILTER_PREDICATE 結構和 TdhCreatePayloadFilter 函 式來建立承載篩選以用於篩選記錄器會話中特定條件的範例,請參閱 EnableTraceEx2 函式的範例。

規格需求

   
最低支援的用戶端 Windows 8.1 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 R2 [僅限傳統型應用程式]
標頭 tdh.h

另請參閱

ENABLE_TRACE_PARAMETERS

EVENT_DESCRIPTOR

EVENT_FILTER_DESCRIPTOR

EnableTraceEx2

TdhAggregatePayloadFilters

TdhCreatePayloadFilter