Qualificateurs MOF de suivi d’événements
Utilisez les qualificateurs définis dans cette section lors de la création de votre classe de fournisseur MOF, de la classe MOF de l' événement, de la classe MOF du type d’événementet des propriétés de la classe MOF du type d’événement. Pour obtenir un exemple qui inclut certains de ces qualificateurs, consultez publication de votre schéma d’événement.
Qualificateurs de classe du fournisseur MOF
Le tableau suivant répertorie les qualificateurs que vous pouvez spécifier sur une classe de fournisseur MOF.
| Qualificateur | Type de données | Description |
|---|---|---|
| Guid | Chaîne | Obligatoire. GUID de chaîne qui identifie de façon unique un fournisseur. Par exemple, Guid ("{3F92E6E0-9886-434e-85DB-0D11D3904C0A}"). Il s’agit du même GUID que celui que vous utilisez lorsque vous appelez la fonction RegisterTraceGuids pour inscrire votre fournisseur. |
Qualificateurs de classe de l’événement MOF
Le tableau suivant répertorie les qualificateurs que vous pouvez spécifier sur une classe d’événements (classe parente qui regroupe des classes de type d’événement connexes).
| Qualificateur | Type de données | Description |
|---|---|---|
| Guid | Chaîne | Obligatoire. GUID de chaîne qui identifie une classe d’événements. Par exemple, Guid ("{3F92E6E0-9886-434e-85DB-0D11D3904C0A}"). Les fournisseurs d’événements utilisent le GUID pour définir l' _ _ en-tête de suivi d’événement. Membre GUID , afin que les consommateurs puissent déterminer la classe des événements qu’ils reçoivent. |
| EventVersion | Integer | Ce qualificateur est facultatif pour la version la plus récente d’une classe de trace d’événements et est requis pour toutes les versions antérieures de la classe. La version la plus récente de la classe ne spécifie pas le qualificateur EventVersion ou a le numéro de version le plus élevé. Les numéros de version commencent par 0, par exemple EventVersion (0). En règle générale, lorsque vous créez une nouvelle version de la classe, vous renommez également la version précédente en < className > _ VN, où n est un nombre incrémentiel commençant à 0. Pour obtenir un exemple, consultez FileIO et FileIO _ v0. |
Qualificateurs de classe MOF de type d’événement
Le tableau suivant répertorie les qualificateurs que vous pouvez spécifier sur une classe de type d’événement (la classe qui définit les données de propriété d’événement).
| Qualificateur | Valeur | Description |
|---|---|---|
| EventType | Integer | Obligatoire. Identifie la classe de type d’événement. Par exemple, EventType (1). Le fournisseur d’événements utilise la même valeur de type d’événement pour définir l' _ en-tête de suivi d’événement _ . Class. type. Si la même classe MOF est utilisée pour plusieurs types d’événements (parce qu’elles utilisent les mêmes données d’événement), spécifiez la valeur de type d’événement sous la forme d’un tableau d’entiers, par exemple EventType {12,15} . |
| EventTypeName | Chaîne | Facultatif. Décrit le type d’événement. Par exemple, EventTypeName (« Start »). Si la même classe MOF est utilisée pour plusieurs types d’événements (parce qu’elles utilisent les mêmes données d’événement), spécifiez la valeur du nom du type d’événement sous la forme d’un tableau de chaînes, par exemple, EventTypeName {"Start", "End"}. Les éléments du tableau EventTypeName correspondent directement au tableau EventType. |
Qualificateurs de propriété
Le tableau suivant répertorie les qualificateurs que vous pouvez spécifier sur une propriété.
| Qualificateur | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Pixels | Spécifie les positions de bits qui sont mappées à des valeurs de chaîne. Si vous spécifiez ce qualificateur, vous devez également spécifier le qualificateur BitValue . | ||||||||||
| BitValue | Valeurs de chaîne. Si le qualificateur de bitmap est également spécifié, les chaînes correspondent directement aux valeurs dans le qualificateur de bitmap . Dans le cas contraire, supposons que la valeur de propriété est un index de base un dans les chaînes de valeur (le bit 1 correspond à la première chaîne de la liste). | ||||||||||
| Extension | Fournit des informations supplémentaires sur l’utilisation (interprétation) des données. La valeur de l’extension ne respecte pas la casse. Incluez la valeur entre guillemets, par exemple extension ( " GUID " ). Les valeurs d’extension possibles sont les suivantes :
|
||||||||||
| Format | Définit le format des données de propriété. Par exemple, l’inclusion du format ( " w " ) sur une propriété de type chaîne indique que la chaîne est une chaîne étendue. Les valeurs possibles sont les suivantes :
|
||||||||||
| Pointeur | Indique que la propriété contient une valeur de pointeur. La taille de la valeur du pointeur dépend du système d’exploitation utilisé pour enregistrer l’événement. la charge utile contient une valeur de 4 octets pour les systèmes 32 bits ou une valeur de 8 octets pour les systèmes 64 bits. Le type de données MOF doit être Object. Les consommateurs doivent ignorer le type de données et le qualificateur de format si la propriété inclut l’extension sizet . Pour déterminer la taille des données à lire pour la propriété, utilisez :
avant Windows Vista : La valeur PointerSize peut ne pas être exacte. Par exemple, sur un ordinateur 64 bits, une application 32 bits enregistre les pointeurs de 4 octets ; Toutefois, la session affecte la valeur 8 à PointerSize . Notez que certains événements utilisent PointerType au lieu du pointeur; n’utilisez pas PointerType. |
||||||||||
| StringTermination | Indique comment la propriété de type chaîne est terminée. Par exemple, StringTermination ( " NullTerminated " ) indique que la propriété de type chaîne se termine par un caractère null. Les valeurs possibles sont les suivantes :
|
||||||||||
| ValueDescriptions | Fournit des descriptions pour chaque valeur dans le qualificateur values . Les fonctions TdhEnumerateProviderFieldInformation et TdhQueryProviderFieldInformation retournent ces descriptions lorsque vous essayez d’extraire des informations de mot clé et de niveau. Les descriptions sont facultatives. Si vous ne fournissez pas les descriptions, les fonctions retournent la valeur null. Pour plus d’informations , consultez Spécification du niveau et activation des valeurs d’indicateur pour un fournisseur . | ||||||||||
| ValueMap | Spécifie l’index entier ou les valeurs d’indicateur qui mappent aux valeurs de chaîne. Si vous spécifiez ce qualificateur, vous devez également spécifier le qualificateur values et, éventuellement, le qualificateur ValueType . Notez que ETW ne prend pas en charge l’option WMI de posséder des chaînes pour les valeurs de mappage de valeur.
L’exemple suivant montre comment utiliser les qualificateurs ValueMap, values et ValueType. |
||||||||||
| Valeurs | Valeurs de chaîne. Si le qualificateur ValueMap est également spécifié, les chaînes correspondent directement aux valeurs du qualificateur ValueMap . Dans le cas contraire, supposez que la valeur de la propriété est un index de base zéro dans les chaînes de valeur. | ||||||||||
| ValueType | Indique si les valeurs ValueMap sont des valeurs d’index d’entier ou des valeurs d’indicateur de bit. Si vous ne spécifiez pas ce qualificateur, les valeurs d’index entières sont supposées. Pour spécifier que les valeurs sont des valeurs d’index entières, utilisez ValueType ( " index " ). Pour spécifier que les valeurs sont des valeurs d’indicateur de bit, utilisez ValueType ( " Flag " ). | ||||||||||
| WmiDataId | Chaque propriété doit contenir le qualificateur WmiDataId . WmiDataId définit l’ordre dans lequel le consommateur lit les données d’événement. La valeur de WmiDataId démarre à 1 et s’incrémente pour chaque propriété de la classe. Par exemple, WmiDataId (1). | ||||||||||
| XMLFragment | Indique que les données sont au format XML et prêtes à être affichées sans mise en forme supplémentaire. |
Spécification du niveau et activation des valeurs d’indicateurs pour un fournisseur
Pour documenter le niveau et activer les indicateurs qu’un contrôleur utilise pour activer votre fournisseur, incluez les propriétés « Level » et « flags » dans votre classe MOF du fournisseur. Les noms des propriétés Level et Flags respectent la casse. Les propriétés doivent inclure les qualificateurs values et ValueMap , qui spécifient le niveau possible et activent les valeurs d’indicateur. Le ValueMap pour les valeurs d’indicateur d’activation doit être des valeurs de bit (indicateur). Le qualificateur ValueDescriptions est facultatif, mais vous devez l’utiliser pour fournir des descriptions pour chaque valeur possible. Les descriptions sont utilisées quand quelqu’un appelle les fonctions TdhEnumerateProviderFieldInformation et TdhQueryProviderFieldInformation pour obtenir le niveau possible et activer les valeurs d’indicateurs (Mots clés) pour le fournisseur.
L’exemple suivant illustre une classe de fournisseur qui spécifie le niveau possible et active les valeurs d’indicateurs.
[Dynamic,
Description("IIS_Trace") : amended,
guid("{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}"),
locale("MS\\0x409")]
class IIS_Trace : EventTrace
{
[Description ("Enable Flags") : amended,
ValueDescriptions{
"Allow_tracing_only_selected_requests ",
"IIS_authentication_events ",
"IIS_security_events ",
"IIS_filter_events ",
"IIS_static_file_events ",
"IIS_CGI_events ",
"IIS_compression_events ",
"IIS_cache_events ",
"IIS_request_notifications_events ",
"IIS_module_events ",
"IIS_FastCGI_events "},
DefineValues{
"UseUrlFilter",
"IISAuthentication",
"IISSecurity",
"IISFilter",
"IISStaticFile",
"IISCGI",
"IISCompression",
"IISCache",
"IISRequestNotification",
"IISModule",
"IISFastCGI"},
Values{
"UseUrlFilter",
"IISAuthentication",
"IISSecurity",
"IISFilter",
"IISStaticFile",
"IISCGI",
"IISCompression",
"IISCache",
"IISRequestNotification",
"IISModule",
"IISFastCGI"},
ValueMap{
"0x00000001",
"0x00000002",
"0x00000004",
"0x00000008",
"0x00000010",
"0x00000020",
"0x00000040",
"0x00000080",
"0x00000100",
"0x00000200",
"0x00001000"}: amended
]
uint32 Flags;
[Description ("Levels") : amended,
ValueDescriptions{
"Abnormal exit or termination",
"Severe errors that need logging",
"Warnings such as allocation failure",
"Includes non-error cases",
"Detailed traces from intermediate steps" } : amended,
DefineValues{
"TRACE_LEVEL_FATAL",
"TRACE_LEVEL_ERROR",
"TRACE_LEVEL_WARNING"
"TRACE_LEVEL_INFORMATION",
"TRACE_LEVEL_VERBOSE" },
Values{
"Fatal",
"Error",
"Warning",
"Information",
"Verbose" },
ValueMap{
"0x1",
"0x2",
"0x3",
"0x4",
"0x5" },
ValueType("index")
]
uint32 Level;
};