estructura PAYLOAD_FILTER_PREDICATE (tdh.h)

Define un predicado de filtro de carga de eventos que describe cómo filtrar por un único campo en una sesión de seguimiento.

Sintaxis

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

Miembros

FieldName

Nombre del campo que se va a filtrar en el manifiesto del paquete.

CompareOp

Operador de carga que se va a usar para la comparación.

Este miembro puede ser uno de los valores de la enumeración PAYLOAD_OPERATOR definida en el archivo de encabezado Tdh.h .

Valor Significado
PAYLOADFIELD_EQ
0
El valor del parámetro FieldName es igual al valor numérico de la cadena en el miembro Value .

Este operador es para comparar enteros y requiere un valor en el miembro Value .

PAYLOADFIELD_NE
1
El valor del parámetro FieldName no es igual al valor numérico de la cadena en el miembro Value .

Este operador es para comparar enteros y requiere un valor en el miembro Value .

PAYLOADFIELD_LE
2
El valor del parámetro FieldName es menor o igual que el valor numérico de la cadena en el miembro Value .

Este operador es para comparar enteros y requiere un valor en el miembro Value .

PAYLOADFIELD_GT
3
El valor del parámetro FieldName es mayor que el valor numérico de la cadena en el miembro Value .

Este operador es para comparar enteros y requiere un valor en el miembro Value .

PAYLOADFIELD_LT
4
El valor del parámetro FieldName es menor que el valor numérico de la cadena en el miembro Value .

Este operador es para comparar enteros y requiere un valor en el miembro Value .

PAYLOADFIELD_GE
5
El valor del parámetro FieldName es mayor o igual que el valor numérico de la cadena en el miembro Value .

Este operador es para comparar enteros y requiere un valor en el miembro Value .

PAYLOADFIELD_BETWEEN
6
El valor del parámetro FieldName está entre los dos valores numéricos de la cadena del miembro Value . El operador PAYLOADFIELD_BETWEEN usa un intervalo cerrado (LowerBound <= FieldValue <= UpperBound).

Este operador es para comparar enteros y requiere dos valores en el miembro Value . Los dos valores deben estar separados por un carácter de coma (",").

PAYLOADFIELD_NOTBETWEEN
7
El valor del parámetro FieldName no está entre los dos valores numéricos de la cadena del miembro Value .

Este operador es para comparar enteros y requiere dos valores en el miembro Value . Los dos valores deben estar separados por un carácter de coma (",").

PAYLOADFIELD_MODULO
8
El valor del parámetro FieldName es el módulo del valor numérico de la cadena en el miembro Value . El operador se puede usar para el muestreo periódico.

Este operador es para comparar enteros y requiere un valor en el miembro Value .

PAYLOADFIELD_CONTAINS
20
El valor del parámetro FieldName contiene el valor de subcadena en el miembro Value . Las comparaciones de cadenas no distinguen mayúsculas de minúsculas.

Este operador es para comparar cadenas y requiere un valor en el miembro Value .

PAYLOADFIELD_DOESNTCONTAIN
21
El valor del parámetro FieldName no contiene la subcadena en el miembro Value . Las comparaciones de cadenas no distinguen mayúsculas de minúsculas.

Este operador es para comparar cadenas y requiere un valor en el miembro Value .

PAYLOADFIELD_IS
30
El valor del parámetro FieldName es idéntico al valor de la cadena en el miembro Value . Las comparaciones de cadenas no distinguen mayúsculas de minúsculas.

Este operador es para comparar cadenas u otros valores no enteros y requiere un valor en el miembro Value .

PAYLOADFIELD_ISNOT
31
El valor del parámetro FieldName no es idéntico al valor de la cadena en el miembro Value . Las comparaciones de cadenas no distinguen mayúsculas de minúsculas.

Este operador es para comparar cadenas u otros valores no enteros y requiere un valor en el miembro Value .

PAYLOADFIELD_INVALID
32
Valor del operador de carga que no es válido.

Value

Cadena que contiene uno o valores que se van a comparar según el miembro CompareOp .

Comentarios

En Windows 8.1, Windows Server 2012 R2 y versiones posteriores, la función EnableTraceEx2 puede usar los filtros de carga de eventos y las estructuras de ENABLE_TRACE_PARAMETERS y EVENT_FILTER_DESCRIPTOR para filtrar por el contenido específico del evento en una sesión de registrador.

La estructura PAYLOAD_FILTER_PREDICATE se usa con la función TdhCreatePayloadFilter para crear un único filtro de carga útil para una sola carga útil que se usará con la función EnableTraceEx2 . Un único filtro de carga también se puede agregar con otros filtros de carga única mediante la función TdhAggregatePayloadFilters .

Cada campo tiene un tipo especificado en el manifiesto del proveedor que se puede usar en el miembro Fieldname de la estructura PAYLOAD_FILTER_PREDICATE para filtrar en ese campo.

El miembro CompareOp especifica el operador que se va a usar para el filtrado de carga. El filtrado de carga admite el filtrado en una cadena (incluido un GUID) y enteros (incluidos TDH_INTYPE_FILETIME). No se admite el filtrado en números de punto flotante, un blob binario (incluidos TDH_INTYPE_POINTER) y datos estructurados (SID y SYSTEMTIME).

El miembro Value contiene una cadena del valor o los valores que se van a comparar con el valor del miembro Fieldname . El miembro Value se convierte de una cadena al tipo del miembro Fieldname tal como se especifica en el manifiesto.

Ninguna comparación de cadena distingue mayúsculas de minúsculas. La cadena del miembro Value es UNICODE, pero se convertirá en ANSI si el tipo especificado en el manifiesto es ANSI.

Un miembro Fieldname que contiene un GUID solo se puede comparar cuando el miembro CompareOp contiene el PAYLOADFIELD_IS o PAYLOADFIELD_ISNOT para el operador de carga. La cadena que representa un GUID en el miembro Value debe contener los corchetes ({00000000-0000-0000-0000-000000000000}por ejemplo).

Ejemplos

Para obtener un ejemplo que usa la estructura PAYLOAD_FILTER_PREDICATE y la función TdhCreatePayloadFilter para crear filtros de carga que se usarán en el filtrado de condiciones específicas en una sesión de registrador, vea el ejemplo de la función EnableTraceEx2 .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8.1 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 R2 [solo aplicaciones de escritorio]
Encabezado tdh.h

Consulte también

ENABLE_TRACE_PARAMETERS

EVENT_DESCRIPTOR

EVENT_FILTER_DESCRIPTOR

EnableTraceEx2

TdhAggregatePayloadFilters

TdhCreatePayloadFilter