Condividi tramite


Funzione PdhGetFormattedCounterValue (pdh.h)

Calcola un valore visualizzabile per il contatore specificato.

Sintassi

PDH_FUNCTION PdhGetFormattedCounterValue(
  [in]  PDH_HCOUNTER          hCounter,
  [in]  DWORD                 dwFormat,
  [out] LPDWORD               lpdwType,
  [out] PPDH_FMT_COUNTERVALUE pValue
);

Parametri

[in] hCounter

Handle del contatore per il quale si desidera calcolare un valore visualizzabile. La funzione PdhAddCounter restituisce questo handle.

[in] dwFormat

Determina il tipo di dati del valore formattato. Specificare uno dei valori seguenti.

Valore Significato
PDH_FMT_DOUBLE
Restituisce dati come reale a virgola mobile e precisione doppia.
PDH_FMT_LARGE
Restituisce dati come intero a 64 bit.
PDH_FMT_LONG
Restituisce i dati come numero intero lungo.
 

È possibile usare l'operatore OR inclusivo bit per bit (|) per combinare il tipo di dati con uno dei fattori di ridimensionamento seguenti.

Valore Significato
PDH_FMT_NOSCALE
Non applicare il fattore di ridimensionamento predefinito del contatore.
PDH_FMT_NOCAP100
I valori dei contatori maggiori di 100 (ad esempio, i valori contatori che misurano il carico del processore nei computer multiprocessore) non verranno reimpostati su 100. Il comportamento predefinito è che i valori dei contatori sono limitati a un valore pari a 100.
PDH_FMT_1000
Moltiplicare il valore effettivo per 1.000.

[out] lpdwType

Riceve il tipo di contatore. Per un elenco dei tipi di contatori, vedere la sezione Tipi di contatore di Windows Server 2003 Deployment Kit. Questo parametro è facoltativo e,

[out] pValue

Struttura PDH_FMT_COUNTERVALUE che riceve il valore del contatore.

Valore restituito

Se la funzione ha esito positivo, restituisce ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è un codice di errore di sistema o un codice di errore PDH. Di seguito sono riportati i valori possibili.

Codice restituito Descrizione
PDH_INVALID_ARGUMENT
Un parametro non è valido o non è formattato correttamente.
PDH_INVALID_DATA
Il contatore specificato non contiene dati validi o un codice di stato riuscito.
PDH_INVALID_HANDLE
L'handle del contatore non è valido.

Commenti

I dati per il contatore sono bloccati (protetti) per la durata della chiamata a PdhGetFormattedCounterValue per impedire eventuali modifiche durante l'elaborazione della chiamata. La lettura dei dati (chiamata corretta di questa funzione) cancella il flag di modifica dei dati per il contatore.

Alcuni contatori, ad esempio i contatori di frequenza, richiedono due valori di contatore per calcolare un valore visualizzabile. In questo caso è necessario chiamare PdhCollectQueryData due volte prima di chiamare PdhGetFormattedCounterValue. Per altre informazioni, vedere Raccolta di dati sulle prestazioni.

Se l'istanza del contatore specificata non esiste, il metodo restituirà PDH_INVALID_DATA e imposterà il membro CStatus della struttura PDH_FMT_COUNTERVALUE su PDH_CSTATUS_NO_INSTANCE.

Prima di Windows Server 2003: La chiamata al formato potrebbe non riuscire per i contatori che richiedono un solo valore quando l'istanza non viene trovata. Provare a chiamare nuovamente la query e formattare le chiamate. Se la chiamata al formato ha esito negativo la seconda volta, l'istanza non viene trovata. In alternativa, è possibile chiamare la funzione PdhEnumObjects con l'opzione di aggiornamento impostata su TRUE per aggiornare le istanze del contatore prima di eseguire query e formattare i dati del contatore.

Esempio

Per un esempio, vedere Esplorazione dei contatori delle prestazioni o lettura dei dati sulle prestazioni da un file di log.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione pdh.h
Libreria Pdh.lib
DLL Pdh.dll

Vedi anche

PdhCollectQueryData

PdhGetRawCounterValue

PdhSetCounterScaleFactor