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 |
---|---|
|
Le schéma de l’événement est introuvable ou la propriété spécifiée est introuvable. |
|
La mémoire tampon pBuffer est trop petite. Pour obtenir la taille de mémoire tampon requise, appelez TdhGetPropertySize. |
|
Un ou plusieurs paramètres ne sont pas valides. |
|
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. |
|
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 |