Condividi tramite


struttura PAYLOAD_FILTER_PREDICATE (tdh.h)

Definisce un predicato di filtro del payload dell'evento che descrive come filtrare in base a un singolo campo in una sessione di traccia.

Sintassi

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

Members

FieldName

Nome del campo da filtrare nel manifesto del pacchetto.

CompareOp

Operatore payload da usare per il confronto.

Questo membro può essere uno dei valori per l'enumerazione PAYLOAD_OPERATOR definita nel file di intestazione Tdh.h .

Valore Significato
PAYLOADFIELD_EQ
0
Il valore del parametro FieldName è uguale al valore numerico della stringa nel membro Value .

Questo operatore è per il confronto di numeri interi e richiede un valore nel membro Value .

PAYLOADFIELD_NE
1
Il valore del parametro FieldName non è uguale al valore numerico della stringa nel membro Value .

Questo operatore è per il confronto di numeri interi e richiede un valore nel membro Value .

PAYLOADFIELD_LE
2
Il valore del parametro FieldName è minore o uguale al valore numerico della stringa nel membro Value .

Questo operatore è per il confronto di numeri interi e richiede un valore nel membro Value .

PAYLOADFIELD_GT
3
Il valore del parametro FieldName è maggiore del valore numerico della stringa nel membro Value .

Questo operatore è per il confronto di numeri interi e richiede un valore nel membro Value .

PAYLOADFIELD_LT
4
Il valore del parametro FieldName è minore del valore numerico della stringa nel membro Value .

Questo operatore è per il confronto di numeri interi e richiede un valore nel membro Value .

PAYLOADFIELD_GE
5
Il valore del parametro FieldName è maggiore o uguale al valore numerico della stringa nel membro Value .

Questo operatore è per il confronto di numeri interi e richiede un valore nel membro Value .

PAYLOADFIELD_BETWEEN
6
Il valore del parametro FieldName è compreso tra i due valori numerici nella stringa nel membro Value . L'operatore PAYLOADFIELD_BETWEEN usa un intervallo chiuso (LowerBound <= FieldValue <= UpperBound).

Questo operatore è per il confronto di numeri interi e richiede due valori nel membro Value . I due valori devono essere separati da una virgola (',').

PAYLOADFIELD_NOTBETWEEN
7
Il valore del parametro FieldName non è compreso tra i due valori numerici nella stringa nel membro Value .

Questo operatore è per il confronto di numeri interi e richiede due valori nel membro Value . I due valori devono essere separati da una virgola (',').

PAYLOADFIELD_MODULO
8
Il valore del parametro FieldName è il modulo del valore numerico nella stringa nel membro Value . L'operatore può essere usato per il campionamento periodico.

Questo operatore è per il confronto di numeri interi e richiede un valore nel membro Value .

PAYLOADFIELD_CONTAINS
20
Il valore del parametro FieldName contiene il valore della sottostringa nel membro Value . I confronti tra stringhe non fanno distinzione tra maiuscole e minuscole.

Questo operatore è per confrontare le stringhe e richiede un valore nel membro Value .

PAYLOADFIELD_DOESNTCONTAIN
21
Il valore del parametro FieldName non contiene la sottostringa nel membro Value . I confronti tra stringhe non fanno distinzione tra maiuscole e minuscole.

Questo operatore è per confrontare le stringhe e richiede un valore nel membro Value .

PAYLOADFIELD_IS
30
Il valore del parametro FieldName è identico al valore della stringa nel membro Value . I confronti tra stringhe non fanno distinzione tra maiuscole e minuscole.

Questo operatore è destinato al confronto di stringhe o altri valori non interi e richiede un valore nel membro Value .

PAYLOADFIELD_ISNOT
31
Il valore del parametro FieldName non è identico al valore della stringa nel membro Value . I confronti tra stringhe non fanno distinzione tra maiuscole e minuscole.

Questo operatore è destinato al confronto di stringhe o altri valori non interi e richiede un valore nel membro Value .

PAYLOADFIELD_INVALID
32
Valore dell'operatore payload non valido.

Value

Stringa contenente uno o valori da confrontare a seconda del membro CompareOp .

Commenti

In Windows 8.1,Windows Server 2012 R2 e versioni successive, i filtri del payload degli eventi possono essere usati dalla funzione EnableTraceEx2 e dalle strutture ENABLE_TRACE_PARAMETERS e EVENT_FILTER_DESCRIPTOR per filtrare in base al contenuto specifico dell'evento in una sessione di logger.

La struttura PAYLOAD_FILTER_PREDICATE viene usata con la funzione TdhCreatePayloadFilter per creare un singolo filtro payload per un singolo payload da usare con la funzione EnableTraceEx2 . È anche possibile aggregare un singolo filtro payload con altri filtri di payload singolo usando la funzione TdhAggregatePayloadFilters .

Ogni campo ha un tipo specificato nel manifesto del provider che può essere utilizzato nel membro Nomecampo della struttura PAYLOAD_FILTER_PREDICATE per filtrare in base a tale campo.

Il membro CompareOp specifica l'operatore da usare per il filtro del payload. Il filtro del payload supporta il filtro in base a una stringa (incluso un GUID) e interi (inclusi i TDH_INTYPE_FILETIME). I filtri sui numeri a virgola mobile, un BLOB binario (incluso TDH_INTYPE_POINTER) e i dati strutturati (SID e SYSTEMTIME) non sono supportati.

Il membro Value contiene una stringa del valore o dei valori da confrontare con il valore del membro NomeCampo . Il membro Value viene convertito da una stringa al tipo del membro NomeCampo come specificato nel manifesto.

Tutti i confronti tra stringhe non fanno distinzione tra maiuscole e minuscole. La stringa nel membro Value è UNICODE, ma verrà convertita in ANSI se il tipo specificato nel manifesto è ANSI.

Un membro Fieldname che contiene un GUID può essere confrontato solo quando il membro CompareOp contiene il PAYLOADFIELD_IS o PAYLOADFIELD_ISNOT per l'operatore payload. La stringa che rappresenta un GUID nel membro Value deve contenere le parentesi graffe({00000000-0000-0000-0000-000000000000} ad esempio).

Esempio

Per un esempio che usa la struttura PAYLOAD_FILTER_PREDICATE e la funzione TdhCreatePayloadFilter per creare filtri payload da usare per filtrare in condizioni specifiche in una sessione di logger, vedere l'esempio per la funzione EnableTraceEx2 .

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1 [solo app desktop]
Server minimo supportato Windows Server 2012 R2 [solo app desktop]
Intestazione tdh.h

Vedi anche

ENABLE_TRACE_PARAMETERS

EVENT_DESCRIPTOR

EVENT_FILTER_DESCRIPTOR

EnableTraceEx2

TdhAggregatePayloadFilters

TdhCreatePayloadFilter