Partager via


Fonction PerfAddCounters (perflib.h)

Ajoute des spécifications de compteur de performances à la requête spécifiée.

Syntaxe

ULONG PerfAddCounters(
  [in]      HANDLE                   hQuery,
  [in, out] PPERF_COUNTER_IDENTIFIER pCounters,
            DWORD                    cbCounters
);

Paramètres

[in] hQuery

Handle de la requête à laquelle vous souhaitez ajouter des spécifications de compteur de performances.

[in, out] pCounters

Pointeur vers les spécifications de compteur de performances que vous souhaitez ajouter.

cbCounters

Taille de la mémoire tampon spécifiée par le paramètre pCounters , en octets.

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.

Notes

Le paramètre pCounters doit pointer vers une séquence de blocs PERF_COUNTER_IDENTIFIER . Chaque bloc PERF_COUNTER_IDENTIFIER se compose d’une structure PERF_COUNTER_IDENTIFIER, éventuellement suivie d’une chaîne de nom de instance UTF-16LE terminée par null, suivie d’un remplissage qui fait de la taille du bloc un multiple de 8 octets.

Pour chaque bloc PERF_COUNTER_IDENTIFIER :

  • Définissez le membre CounterSetGuid de la structure PERF_COUNTER_IDENTIFIER sur l’identificateur du compteur à interroger.
  • Définissez le membre Status de la structure PERF_COUNTER_IDENTIFIER sur 0.
  • Définissez le membre Size de la structure PERF_COUNTER_IDENTIFIER sur la taille du bloc PERF_COUNTER_IDENTIFIER en octets, y compris la structure PERF_COUNTER_IDENTIFIER, le nom instance et le remplissage. La valeur de Size doit être un multiple de 8.
  • Définissez le membre CounterId de la structure PERF_COUNTER_IDENTIFIER sur l’identificateur du compteur qui doit être retourné par la requête. Pour retourner tous les compteurs, définissez CounterId sur PERF_WILDCARD_COUNTER.
  • Définissez le membre InstanceId de la structure PERF_COUNTER_IDENTIFIER sur l’identificateur du instance qui doit être retourné par la requête. Si aucun filtrage ne doit être effectué en fonction de instance identificateur, définissez InstanceId sur PERF_WILDCARD_COUNTER.
  • Définissez le membre Index de la structure PERF_COUNTER_IDENTIFIER sur 0.
  • Définissez le membre réservé de la structure PERF_COUNTER_IDENTIFIER sur 0.
  • Incluez le nom instance immédiatement après la structure PERF_COUNTER_IDENTIFIER.
    • Si le jeu de compteurs est à instance unique, ne définissez pas le nom instance. Dans ce cas, la valeur du membre Size de la structure PERF_COUNTER_IDENTIFIER doit être la taille de la structure PERF_COUNTER_IDENTIFIER .
    • Si le jeu de compteurs est à plusieurs instance, vous devez définir le nom instance. Si vous ne souhaitez pas filtrer les spécifications du compteur de performances en fonction du nom de instance, utilisez PERF_WILDCARD_INSTANCE comme nom instance.
PerfAddCounters tente d’ajouter une spécification de compteur à la requête pour chaque bloc PERF_COUNTER_IDENTIFIER et met à jour le membre Status de la structure PERF_COUNTER_IDENTIFIER dans chaque bloc avec le résultat de la tentative.

Spécifications

   
Client minimal pris en charge Windows 10, version 1607 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2016 (applications de bureau uniquement)
Plateforme cible Windows
En-tête perflib.h
Bibliothèque AdvAPI32.lib
DLL AdvAPI32.dll

Voir aussi

PERF_COUNTER_IDENTIFIER

PerfDeleteCounters