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 .
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