Partager via


PerfSetCounterRefValue, fonction (perflib.h)

Mises à jour la valeur d’un compteur dont la valeur est un pointeur vers les données réelles. Les fournisseurs utilisent cette fonction.

Syntaxe

ULONG PerfSetCounterRefValue(
  [in] HANDLE                    Provider,
  [in] PPERF_COUNTERSET_INSTANCE Instance,
  [in] ULONG                     CounterId,
  [in] PVOID                     Address
);

Paramètres

[in] Provider

Handle du fournisseur. Utilisez la variable handle que l’outil CTRPP a générée pour vous. Pour le nom de la variable, consultez l’attribut symbol de l’élément provider .

Windows Vista : La fonction PerfStartProvider retourne le handle.

[in] Instance

Structure PERF_COUNTERSET_INSTANCE qui contient le jeu de compteurs instance. La fonction PerfCreateInstance retourne ce pointeur.

[in] CounterId

Identificateur qui identifie de manière unique le compteur à mettre à jour dans le bloc instance. L’identificateur est défini dans l’attribut id de l’élément counter et doit correspondre au membre CounterId de l’une des structures PERF_COUNTER_INFO dans le bloc instance. Utilisez la constante d’ID de compteur que l’outil CTRPP a générée pour vous. Pour le nom de la constante, consultez l’attribut symbol de l’élément counter .

Windows Vista : La constante d’ID de compteur n’est pas disponible.

[in] Address

Pointeur vers les données de compteur réelles.

Si la valeur est NULL, le consommateur reçoit ERROR_NO_DATA.

Pour indiquer que les données du compteur sont accessibles par référence, la déclaration de compteur dans le manifeste doit inclure un élément counterAttribute dont l’attribut name est défini sur « reference ».

Valeur retournée

Si la fonction réussit, elle retourne ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour est un code d’erreur système.

Remarques

Il s’agit d’une fonction pratique pour spécifier une référence aux données brutes du compteur. Pour mettre à jour vous-même la référence aux données brutes du compteur, utilisez le membre Offset de la structure PERF_COUNTER_INFO pour accéder à la valeur du compteur d’un compteur spécifique. Le membre Attrib doit inclure l’indicateur PERF_ATTRIB_BY_REFERENCE. Le bloc de structure PERF_COUNTERSET_INSTANCE contient une ou plusieurs structures d’informations de compteur.

Selon le type de compteur, le pointeur doit référencer un entier non signé de 4 octets ou de 8 octets. Lors de la collecte des données de compteur, PERFLIB déréférence le pointeur et retourne les données réelles.

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 perflib.h
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

PerfSetULongCounterValue

PerfSetULongLongCounterValue