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.
È possibile usare l'operatore OR inclusivo bit per bit (|) per combinare il tipo di dati con uno dei fattori di ridimensionamento seguenti.
[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 |
---|---|
|
Un parametro non è valido o non è formattato correttamente. |
|
Il contatore specificato non contiene dati validi o un codice di stato riuscito. |
|
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 |