Condividi tramite


Controllo dei codici di stato dei dati dei contatori

Il valore restituito delle funzioni PDH indica l'esito positivo o negativo della chiamata di funzione, che è diverso dallo stato dei dati del contatore. Controllare sempre il membro CStatus di un valore del contatore restituito nelle strutture PDH per assicurarsi che i dati restituiti siano validi prima di usarli. Se il valore del membro CStatus non indica l'esito positivo, non usare i dati. Di seguito sono riportati i possibili valori di stato per i contatori:

Valore Significato
PDH_CSTATUS_NO_MACHINE PDH non è riuscito a connettersi al computer specificato nel percorso del contatore. Se questo stato viene restituito quando viene aggiunto il contatore, il contatore non viene completamente inizializzato. Ogni volta che la query viene aggiornata, PDH ritenta la connessione. Quando viene stabilita la connessione, viene ripresa la normale raccolta dati.
PDH_CSTATUS_NO_OBJECT Il computer specificato è stato trovato, ma l'oggetto prestazione specificato è stato trovato nel computer. Se questo stato viene restituito quando viene aggiunto il contatore, il contatore specificato non viene incluso nella query. Se questo stato viene restituito da un contatore attivo, i dati per tale contatore non sono validi. Ogni volta che vengono richiesti i dati, PDH tenta di ottenere questi dati del contatore.
PDH_CSTATUS_NO_INSTANCE L'istanza specificata non è stata trovata nell'oggetto . Se questo stato viene restituito mentre il contatore viene aggiunto alla query, il contatore viene aggiunto correttamente alla query, ma non sono disponibili dati finché non viene visualizzata l'istanza specifica e viene restituito uno stato di esito positivo.
PDH_CSTATUS_NO_COUNTER Il contatore specificato non è stato trovato nell'oggetto specificato. Se questo stato viene restituito quando viene aggiunto il contatore, il contatore non viene aggiunto alla query. Se questo stato viene restituito dopo la raccolta dei dati, i dati per tale contatore non sono validi. Ogni volta che vengono richiesti i dati, PDH tenta di ottenere questi dati del contatore.
PDH_CSTATUS_INVALID_DATA Il contatore è stato trovato correttamente, ma i dati restituiti non sono validi. Questo errore può verificarsi se il valore del contatore è minore del valore precedente. Poiché i valori del contatore aumentano sempre, il valore del contatore esegue il roll over su zero quando raggiunge il valore massimo. Un'altra possibile causa è un timer di sistema che non è corretto.
PDH_CSTATUS_VALID_DATA I dati per il contatore sono stati restituiti correttamente, ma non sono stati modificati dall'ultima lettura del contatore.
PDH_CSTATUS_NEW_DATA I dati per il contatore sono stati restituiti correttamente e sono diversi dall'ultima lettura del contatore. PDH_CSTATUS_NEW_DATA può essere restituito su un contatore di frequenza anche se la velocità risultante è uguale all'ultimo campione. Ciò è dovuto al fatto che il valore dei dati non elaborati utilizzato nella determinazione di questo valore di stato è stato modificato, non la frequenza calcolata.
PDH_MORE_DATA Il buffer fornito non è abbastanza grande per archiviare tutti i dati del contatore. Allocare un buffer più grande ed eseguire di nuovo la funzione.
PDH_CSTATUS_ITEM_NOT_VALIDATED Il contatore è stato aggiunto alla query, ma non è stato convalidato né eseguito l'accesso. Non sono disponibili informazioni di stato aggiuntive su questo contatore.
PDH_CSTATUS_NO_COUNTERNAME Nella query non è stato specificato alcun nome di contatore.
PDH_CSTATUS_NO_COUNTER Impossibile trovare il nome del contatore specificato.
PDH_CSTATUS_NO_OBJECT Impossibile trovare l'oggetto prestazioni specificato.
PDH_CALC_NEGATIVE_DENOMINATOR Un contatore ha un valore denominatore negativo.
PDH_CALC_NEGATIVE_TIMEBASE Un contatore ha un valore timebase negativo.
PDH_CALC_NEGATIVE_VALUE Un contatore ha un valore negativo.
PDH_CSTATUS_NO_COUNTERNAME Non è stato specificato alcun percorso del contatore.
PDH_CSTATUS_BAD_COUNTERNAME Il formato del percorso del contatore non è corretto.