Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Macro wrapper TraceLogging qui ajoute un champ contenant d’autres champs à l’événement.
Syntaxe
void TraceLoggingStruct(
[in] int fieldCount,
[in] string name,
[in, optional] string description,
[in, optional] int tags
);
Paramètres
[in] fieldCount
Nombre de champs qui seront considérés comme faisant partie de la structure. Ce paramètre doit être une constante au moment de la compilation.
[in] name
Nom à utiliser pour la structure dans l’événement. Le paramètre name doit être un littéral de chaîne (et non une variable) et ne doit pas contenir de caractères « \0 ».
[in, optional] __VA_ARGS__
Paramètres de description et d’étiquettes facultatifs pour la définition de champ.
TraceLoggingStruct peut être spécifié avec 2, 3 ou 4 paramètres. Si aucun paramètre n’est spécifié, une valeur par défaut est utilisée. Par exemple, TraceLoggingStruct(3, "MyStruct") équivaut à TraceLoggingStruct(3, "MyStruct", "", 0).
[in, optional] descriptionDescription de la valeur du champ d’événement. S’il est fourni, le paramètre de description doit être un littéral de chaîne et sera inclus dans le PDB.
[in, optional] tagsValeur entière constante au moment de la compilation. Les 28 bits faibles de la valeur seront inclus dans les métadonnées du champ. La sémantique de cette valeur est définie par le consommateur d’événements. Pendant le traitement des événements, cette valeur peut être récupérée à partir du champ Balises EVENT_PROPERTY_INFO .
Valeur de retour
None
Remarques
TraceLoggingStruct(fieldCount, name, ...) peut être utilisé comme paramètre pour l’appel d’une macro TraceLoggingWrite . Chaque paramètre TraceLoggingStruct ajoute un champ logique à l’événement. Le champ est une structure ou un groupe qui contient les champs logiques fieldCount suivants comme valeur.
Exemples
TraceLoggingWrite(
g_hProvider,
"MyEventWithStruct",
TraceLoggingLevel(WINEVENT_LEVEL_WARNING), // Levels defined in <winmeta.h>
TraceLoggingKeyword(MyEventCategories), // Provider-defined categories
TraceLoggingInt32(num1, "BeforeStruct"),
TraceLoggingStruct(3, "StructWith3Fields"),
TraceLoggingInt32(num2, "StructField1"),
TraceLoggingInt32(num3, "StructField2"),
TraceLoggingInt32(num4, "StructField3"),
TraceLoggingInt32(num5, "AfterStruct));
TraceLoggingWrite(
g_hProvider,
"MyEventWithNestedStruct",
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), // Levels defined in <winmeta.h>
TraceLoggingKeyword(MyEventCategories), // Provider-defined categories
TraceLoggingInt32(num1, "BeforeStruct"),
TraceLoggingStruct(3, "StructWith3Fields"),
TraceLoggingInt32(num2, "StructField1"),
TraceLoggingStruct(2, "StructField2"),
TraceLoggingInt32(num3, "StructField2NestedField1"),
TraceLoggingInt32(num4, "StructField2NestedField2"),
TraceLoggingInt32(num5, "StructField3"),
TraceLoggingInt32(num6, "AfterStruct));
Configuration requise
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
| Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
| Plateforme cible | Windows |
| En-tête | traceloggingprovider.h |