structure PAYLOAD_FILTER_PREDICATE (tdh.h)

Définit un prédicat de filtre de charge utile d’événement qui décrit comment filtrer sur un seul champ dans une session de trace.

Syntaxe

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

Membres

FieldName

Nom du champ à filtrer dans le manifeste du package.

CompareOp

Opérateur de charge utile à utiliser pour la comparaison.

Ce membre peut être l’une des valeurs de l’énumération PAYLOAD_OPERATOR définie dans le fichier d’en-tête Tdh.h .

Valeur Signification
PAYLOADFIELD_EQ
0
La valeur du paramètre FieldName est égale à la valeur numérique de la chaîne dans le membre Value .

Cet opérateur est destiné à comparer des entiers et nécessite une valeur dans le membre Value .

PAYLOADFIELD_NE
1
La valeur du paramètre FieldName n’est pas égale à la valeur numérique de la chaîne dans le membre Value .

Cet opérateur est destiné à comparer des entiers et nécessite une valeur dans le membre Value .

PAYLOADFIELD_LE
2
La valeur du paramètre FieldName est inférieure ou égale à la valeur numérique de la chaîne dans le membre Value .

Cet opérateur est destiné à comparer des entiers et nécessite une valeur dans le membre Value .

PAYLOADFIELD_GT
3
La valeur du paramètre FieldName est supérieure à la valeur numérique de la chaîne dans le membre Value .

Cet opérateur est destiné à comparer des entiers et nécessite une valeur dans le membre Value .

PAYLOADFIELD_LT
4
La valeur du paramètre FieldName est inférieure à la valeur numérique de la chaîne dans le membre Value .

Cet opérateur est destiné à comparer des entiers et nécessite une valeur dans le membre Value .

PAYLOADFIELD_GE
5
La valeur du paramètre FieldName est supérieure ou égale à la valeur numérique de la chaîne dans le membre Value .

Cet opérateur est destiné à comparer des entiers et nécessite une valeur dans le membre Value .

PAYLOADFIELD_BETWEEN
6
La valeur du paramètre FieldName se trouve entre les deux valeurs numériques de la chaîne du membre Value . L’opérateur PAYLOADFIELD_BETWEEN utilise un intervalle fermé (LowerBound <= FieldValue <= UpperBound).

Cet opérateur est destiné à comparer des entiers et nécessite deux valeurs dans le membre Value . Les deux valeurs doivent être séparées par un caractère de virgule (',').

PAYLOADFIELD_NOTBETWEEN
7
La valeur du paramètre FieldName ne se trouve pas entre les deux valeurs numériques de la chaîne du membre Value .

Cet opérateur est destiné à comparer des entiers et nécessite deux valeurs dans le membre Value . Les deux valeurs doivent être séparées par un caractère de virgule (',').

PAYLOADFIELD_MODULO
8
La valeur du paramètre FieldName est le modulo de la valeur numérique dans la chaîne du membre Value . L’opérateur peut être utilisé pour l’échantillonnage périodique.

Cet opérateur est destiné à comparer des entiers et nécessite une valeur dans le membre Value .

PAYLOADFIELD_CONTAINS
20
La valeur du paramètre FieldName contient la valeur de sous-chaîne dans le membre Value . Les comparaisons de chaînes ne respectent pas la casse.

Cet opérateur est destiné à comparer des chaînes et nécessite une valeur dans le membre Value .

PAYLOADFIELD_DOESNTCONTAIN
21
La valeur du paramètre FieldName ne contient pas la sous-chaîne dans le membre Value . Les comparaisons de chaînes ne respectent pas la casse.

Cet opérateur est destiné à comparer des chaînes et nécessite une valeur dans le membre Value .

PAYLOADFIELD_IS
30
La valeur du paramètre FieldName est identique à la valeur de la chaîne dans le membre Value . Les comparaisons de chaînes ne respectent pas la casse.

Cet opérateur permet de comparer des chaînes ou d’autres valeurs non entières et nécessite une valeur dans le membre Value .

PAYLOADFIELD_ISNOT
31
La valeur du paramètre FieldName n’est pas identique à la valeur de la chaîne dans le membre Value . Les comparaisons de chaînes ne respectent pas la casse.

Cet opérateur permet de comparer des chaînes ou d’autres valeurs non entières et nécessite une valeur dans le membre Value .

PAYLOADFIELD_INVALID
32
Valeur de l’opérateur de charge utile non valide.

Value

Chaîne qui contient une ou des valeurs à comparer en fonction du membre CompareOp .

Remarques

Sur Windows 8.1,Windows Server 2012 R2 et versions ultérieures, les filtres de charge utile d’événements peuvent être utilisés par la fonction EnableTraceEx2 et les structures ENABLE_TRACE_PARAMETERS et EVENT_FILTER_DESCRIPTOR pour filtrer le contenu spécifique de l’événement dans une session d’enregistreur d’événements.

La structure PAYLOAD_FILTER_PREDICATE est utilisée avec la fonction TdhCreatePayloadFilter pour créer un filtre de charge utile unique pour une seule charge utile à utiliser avec la fonction EnableTraceEx2 . Un filtre de charge utile unique peut également être agrégé avec d’autres filtres de charge utile unique à l’aide de la fonction TdhAggregatePayloadFilters .

Chaque champ a un type spécifié dans le manifeste du fournisseur qui peut être utilisé dans le membre Fieldname de la structure PAYLOAD_FILTER_PREDICATE à filtrer sur ce champ.

Le membre CompareOp spécifie l’opérateur à utiliser pour le filtrage de charge utile. Le filtrage de charge utile prend en charge le filtrage sur une chaîne (y compris un GUID) et des entiers (y compris TDH_INTYPE_FILETIME). Le filtrage sur des nombres à virgule flottante, un objet blob binaire (y compris TDH_INTYPE_POINTER) et des données structurées (SID et SYSTEMTIME) ne sont pas pris en charge.

Le membre Value contient une chaîne de la ou des valeurs à comparer à la valeur du membre Fieldname . Le membre Value est converti d’une chaîne au type du membre Fieldname , comme spécifié dans le manifeste.

Aucune des comparaisons de chaînes n’est sensible à la casse. La chaîne du membre Value est UNICODE, mais elle sera convertie en ANSI si le type spécifié dans le manifeste est ANSI.

Un membre Fieldname qui contient un GUID ne peut être comparé que lorsque le membre CompareOp contient le PAYLOADFIELD_IS ou PAYLOADFIELD_ISNOT pour l’opérateur de charge utile. La chaîne qui représente un GUID dans le membre Value doit contenir les crochets bouclés ({00000000-0000-0000-0000-000000000000}par exemple).

Exemples

Pour obtenir un exemple qui utilise la structure PAYLOAD_FILTER_PREDICATE et la fonction TdhCreatePayloadFilter pour créer des filtres de charge utile à utiliser dans le filtrage sur des conditions spécifiques dans une session d’enregistreur d’événements, consultez l’exemple de la fonction EnableTraceEx2 .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 R2 [applications de bureau uniquement]
En-tête tdh.h

Voir aussi

ENABLE_TRACE_PARAMETERS

EVENT_DESCRIPTOR

EVENT_FILTER_DESCRIPTOR

EnableTraceEx2

TdhAggregatePayloadFilters

TdhCreatePayloadFilter