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 |