Compartilhar via


estrutura PAYLOAD_FILTER_PREDICATE (tdh.h)

Define um predicado de filtro de conteúdo de evento que descreve como filtrar em um único campo em uma sessão de rastreamento.

Sintaxe

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

Membros

FieldName

O nome do campo a ser filtrado no manifesto do pacote.

CompareOp

O operador de carga a ser usado para a comparação.

Esse membro pode ser um dos valores para a enumeração PAYLOAD_OPERATOR definida no arquivo de cabeçalho Tdh.h .

Valor Significado
PAYLOADFIELD_EQ
0
O valor do parâmetro FieldName é igual ao valor numérico da cadeia de caracteres no membro Value .

Esse operador é para comparar inteiros e requer um valor no membro Value .

PAYLOADFIELD_NE
1
O valor do parâmetro FieldName não é igual ao valor numérico da cadeia de caracteres no membro Value .

Esse operador é para comparar inteiros e requer um valor no membro Value .

PAYLOADFIELD_LE
2
O valor do parâmetro FieldName é menor ou igual ao valor numérico da cadeia de caracteres no membro Value .

Esse operador é para comparar inteiros e requer um valor no membro Value .

PAYLOADFIELD_GT
3
O valor do parâmetro FieldName é maior que o valor numérico da cadeia de caracteres no membro Value .

Esse operador é para comparar inteiros e requer um valor no membro Value .

PAYLOADFIELD_LT
4
O valor do parâmetro FieldName é menor que o valor numérico da cadeia de caracteres no membro Value .

Esse operador é para comparar inteiros e requer um valor no membro Value .

PAYLOADFIELD_GE
5
O valor do parâmetro FieldName é maior ou igual ao valor numérico da cadeia de caracteres no membro Value .

Esse operador é para comparar inteiros e requer um valor no membro Value .

PAYLOADFIELD_BETWEEN
6
O valor do parâmetro FieldName está entre os dois valores numéricos na cadeia de caracteres no membro Value . O operador PAYLOADFIELD_BETWEEN usa um intervalo fechado (LowerBound <= FieldValue <= UpperBound).

Esse operador é para comparar inteiros e requer dois valores no membro Value . Os dois valores devem ser separados por um caractere de vírgula (',').

PAYLOADFIELD_NOTBETWEEN
7
O valor do parâmetro FieldName não está entre os dois valores numéricos na cadeia de caracteres no membro Value .

Esse operador é para comparar inteiros e requer dois valores no membro Value . Os dois valores devem ser separados por um caractere de vírgula (',').

PAYLOADFIELD_MODULO
8
O valor do parâmetro FieldName é o módulo do valor numérico na cadeia de caracteres no membro Value . O operador pode ser usado para amostragem periódica.

Esse operador é para comparar inteiros e requer um valor no membro Value .

PAYLOADFIELD_CONTAINS
20
O valor do parâmetro FieldName contém o valor de subcadeia de caracteres no membro Value . Comparações de cadeia de caracteres não diferenciam maiúsculas de minúsculas.

Esse operador é para comparar cadeias de caracteres e requer um valor no membro Value .

PAYLOADFIELD_DOESNTCONTAIN
21
O valor do parâmetro FieldName não contém a subcadeia de caracteres no membro Value . Comparações de cadeia de caracteres não diferenciam maiúsculas de minúsculas.

Esse operador é para comparar cadeias de caracteres e requer um valor no membro Value .

PAYLOADFIELD_IS
30
O valor do parâmetro FieldName é idêntico ao valor da cadeia de caracteres no membro Value . Comparações de cadeia de caracteres não diferenciam maiúsculas de minúsculas.

Esse operador é para comparar cadeias de caracteres ou outros valores não inteiros e requer um valor no membro Value .

PAYLOADFIELD_ISNOT
31
O valor do parâmetro FieldName não é idêntico ao valor da cadeia de caracteres no membro Value . Comparações de cadeia de caracteres não diferenciam maiúsculas de minúsculas.

Esse operador é para comparar cadeias de caracteres ou outros valores não inteiros e requer um valor no membro Value .

PAYLOADFIELD_INVALID
32
Um valor do operador de carga que não é válido.

Value

A cadeia de caracteres que contém um ou valores a serem comparados dependendo do membro CompareOp .

Comentários

Em Windows 8.1, Windows Server 2012 R2 e posteriores, os filtros de conteúdo de evento podem ser usados pela função EnableTraceEx2 e pelas estruturas ENABLE_TRACE_PARAMETERS e EVENT_FILTER_DESCRIPTOR para filtrar o conteúdo específico do evento em uma sessão de agente.

A estrutura PAYLOAD_FILTER_PREDICATE é usada com a função TdhCreatePayloadFilter para criar um único filtro de carga para uma única carga a ser usada com a função EnableTraceEx2 . Um único filtro de carga também pode ser agregado com outros filtros de conteúdo único usando a função TdhAggregatePayloadFilters .

Cada campo tem um tipo especificado no manifesto do provedor que pode ser usado no membro Fieldname da estrutura PAYLOAD_FILTER_PREDICATE para filtrar nesse campo.

O membro CompareOp especifica esse operador a ser usado para filtragem de conteúdo. A filtragem de conteúdo dá suporte à filtragem em uma cadeia de caracteres (incluindo um GUID) e inteiros (incluindo TDH_INTYPE_FILETIME). Não há suporte para filtragem em números de ponto flutuante, um blob binário (incluindo TDH_INTYPE_POINTER) e dados estruturados (SID e SYSTEMTIME).

O membro Value contém uma cadeia de caracteres do valor ou valores a serem comparados com o valor do membro Fieldname . O membro Value é convertido de uma cadeia de caracteres para o tipo do membro Fieldname , conforme especificado no manifesto.

Todas as comparações de cadeia de caracteres diferenciam maiúsculas de minúsculas. A cadeia de caracteres no membro Value é UNICODE, mas será convertida em ANSI se o tipo especificado no manifesto for ANSI.

Um membro fieldname que contém um GUID só pode ser comparado quando o membro CompareOp contém o PAYLOADFIELD_IS ou PAYLOADFIELD_ISNOT para o operador de carga. A cadeia de caracteres que representa um GUID no membro Value deve conter os colchetes ({00000000-0000-0000-0000-000000000000}por exemplo).

Exemplos

Para obter um exemplo que usa a estrutura PAYLOAD_FILTER_PREDICATE e a função TdhCreatePayloadFilter para criar filtros de carga a serem usados na filtragem em condições específicas em uma sessão de agente, consulte o exemplo da função EnableTraceEx2 .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8.1 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 R2 [somente aplicativos da área de trabalho]
Cabeçalho tdh.h

Confira também

ENABLE_TRACE_PARAMETERS

EVENT_DESCRIPTOR

EVENT_FILTER_DESCRIPTOR

EnableTraceEx2

TdhAggregatePayloadFilters

TdhCreatePayloadFilter