Поделиться через


структура PAYLOAD_FILTER_PREDICATE (tdh.h)

Определяет предикат фильтра полезных данных события, который описывает фильтрацию по одному полю в сеансе трассировки.

Синтаксис

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

Члены

FieldName

Имя поля для фильтрации в манифесте пакета.

CompareOp

Оператор полезных данных, используемый для сравнения.

Этот член может быть одним из значений перечисления PAYLOAD_OPERATOR , определенного в файле заголовка Tdh.h .

Значение Значение
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_PARAMETERS и EVENT_FILTER_DESCRIPTOR могут использовать фильтры полезных данных событий в сеансе средства ведения журнала.

Структура PAYLOAD_FILTER_PREDICATE используется с функцией TdhCreatePayloadFilter для создания одного фильтра полезных данных для одной полезной нагрузки, которая будет использоваться с функцией EnableTraceEx2 . Один фильтр полезных данных также можно агрегировать с другими отдельными фильтрами полезных данных с помощью функции TdhAggregatePayloadFilters .

Каждое поле имеет тип, указанный в манифесте поставщика, который можно использовать в элементе Fieldnameструктуры PAYLOAD_FILTER_PREDICATE для фильтрации по такому полю.

Элемент CompareOp указывает, что оператор используется для фильтрации полезных данных. Фильтрация полезных данных поддерживает фильтрацию по строкам (включая GUID) и целым числам (включая TDH_INTYPE_FILETIME). Фильтрация по числам с плавающей запятой, двоичному большому двоичному объекту (включая TDH_INTYPE_POINTER) и структурированным данным (SID и SYSTEMTIME) не поддерживается.

Элемент Value содержит строку значения или значений для сравнения со значением элемента Fieldname . Элемент Value преобразуется из строки в тип элемента Fieldname , как указано в манифесте.

Сравнения строк выполняются без учета регистра. Строка в элементе Value имеет значение ЮНИКОД, но она будет преобразована в ANSI, если тип, указанный в манифесте, — ANSI.

Элемент Fieldname , содержащий GUID , можно сравнить только в том случае, если элемент CompareOp содержит PAYLOADFIELD_IS или PAYLOADFIELD_ISNOT для оператора полезных данных. Строка, представляющая GUID в элементе Value, должна содержать фигурные скобки ({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