2010-11-15 4 views

Répondre

1

Vous trouverez peut-être plus facile d'obtenir les données requises en utilisant directement l'API Performance Counters au lieu de passer par WMI. Les instructions étape par étape sont here.

Après avoir créé une requête et en ajoutant compteurs à elle, appelez la fonction PdhCollectQueryData à récupérer les données brutes en cours pour tous les compteurs dans la requête.

De nombreux compteurs, tels que les compteurs de débit, nécessitent deux échantillons de données pour calculer une valeur de données formatée. PDH conserve les données pour l'échantillon en cours et l'échantillon précédemment collecté . La procédure suivante décrit comment collecter des valeurs de compteur qui nécessitent deux échantillons pour calculer une valeur affichable .

Les deux API sont complexes, il n'y a pas de moyen facile ici.

+0

J'ai un code, qui utilise le compteur de performance, mais j'obtiens une erreur, "PdhCollectQueryData a échoué \ n" ie. PAS DE DONNÉES . J'ai croisé cheked avec "performance" dans le système, nous avons "\\ Interface réseau (% s) \\ Current Bandwidth", mais pourquoi je reçois cette erreur. aide de plesase. merci – vishal

+0

PWSTR COUNTER_PATH = "\\ Interface réseau (NVIDIA nForce Networking Controller - PacketScheduler Miniport) \\ Bande passante actuelle" J'utilise toujours je ne reçois pas – vishal

+0

Je veux télécharger et télécharger le compteur de performance de bandwith.using je suis seulement obtenir 10000000 comme valeur. s'il vous plaît dire comment puis-je télécharger et télécharger bandwidth.thanks – vishal

0

Vous devez utiliser le * Win32_PerfFormattedData_Tcpip_NetworkInterface * à la place, le compteur brut doit être traité avant d'être utilisé et c'est une tâche non triviale.

Les propriétés suivantes peuvent intéresser:

BytesReceivedPerSec, BytesSentPerSec, CurrentBandwidth (pour calculer l'utilisation), BytesTotalPerSec

Questions connexes