TdhGetProperty, fonction (tdh.h)

Récupère une valeur de propriété à partir des données d’événement.

Syntaxe

TDHSTATUS TdhGetProperty(
  [in]  PEVENT_RECORD             pEvent,
  [in]  ULONG                     TdhContextCount,
  [in]  PTDH_CONTEXT              pTdhContext,
  [in]  ULONG                     PropertyDataCount,
  [in]  PPROPERTY_DATA_DESCRIPTOR pPropertyData,
  [in]  ULONG                     BufferSize,
  [out] PBYTE                     pBuffer
);

Paramètres

[in] pEvent

Enregistrement d’événement passé à votre rappel EventRecordCallback . Pour plus d’informations, consultez la structure EVENT_RECORD .

[in] TdhContextCount

Nombre d’éléments dans pTdhContext.

[in] pTdhContext

Tableau de valeurs de contexte pour les événements WPP ou ETW classiques uniquement ; sinon, NULL. Pour plus d’informations, consultez la structure TDH_CONTEXT . Le tableau ne doit pas contenir de types de contexte en double.

[in] PropertyDataCount

Nombre de structures de descripteur de données dans pPropertyData.

[in] pPropertyData

Tableau de structures PROPERTY_DATA_DESCRIPTOR qui définit la propriété à récupérer.

Si vous avez appelé la fonction TdhGetPropertySize pour récupérer la taille de mémoire tampon requise pour la propriété, vous pouvez utiliser les mêmes descripteurs de données.

Si vous récupérez une propriété qui n’est pas membre d’une structure, vous pouvez spécifier un descripteur de données unique. Si vous récupérez une propriété membre d’une structure, spécifiez un tableau de deux descripteurs de données (les structures ne peuvent pas contenir ou référencer d’autres structures).

[in] BufferSize

Taille de la mémoire tampon pBuffer , en octets. Vous pouvez obtenir cette valeur à partir du paramètre pPropertySize lors de l’appel de la fonction TdhGetPropertySize .

[out] pBuffer

Mémoire tampon allouée par l’utilisateur qui reçoit les données de propriété.

Valeur retournée

Retourne ERROR_SUCCESS en cas de réussite. Sinon, cette fonction retourne l’un des codes de retour suivants en plus d’autres.

Code de retour Description
ERROR_NOT_FOUND
Le schéma de l’événement est introuvable ou la propriété spécifiée est introuvable.
ERROR_INSUFFICIENT_BUFFER
La mémoire tampon pBuffer est trop petite. Pour obtenir la taille de mémoire tampon requise, appelez TdhGetPropertySize.
ERROR_INVALID_PARAMETER
Un ou plusieurs paramètres ne sont pas valides.
ERROR_FILE_NOT_FOUND
L’attribut resourceFileName dans le manifeste contient l’emplacement du binaire du fournisseur. Lorsque vous inscrivez le manifeste, l’emplacement est écrit dans le Registre. TDH n’a pas pu trouver le fichier binaire en fonction de l’emplacement inscrit.
ERROR_WMI_SERVER_UNAVAILABLE
Le service WMI n’est pas disponible.

Remarques

Si l’événement est un événement WPP ou ETW classique, vous pouvez spécifier les informations de contexte utilisées pour faciliter l’analyse des informations d’événement. L’événement est un événement WPP si l’indicateur EVENT_HEADER_FLAG_TRACE_MESSAGE est défini dans le membre Indicateurs de EVENT_HEADER (voir le membre EventHeader de EVENT_RECORD). L’événement est un événement ETW hérité si l’indicateur EVENT_HEADER_FLAG_CLASSIC_HEADER est défini.

Pour obtenir la liste des propriétés des événements WPP et leurs types de données, consultez PROPERTY_DATA_DESCRIPTOR.

Exemples

Pour obtenir un exemple montrant comment appeler cette fonction pour récupérer la valeur d’une propriété de niveau supérieur ou du membre d’une structure, consultez Utilisation de TdhGetProperty pour consommer des données d’événement.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête tdh.h
Bibliothèque Tdh.lib
DLL Tdh.dll

Voir aussi

TdhGetEventInformation

TdhGetPropertySize