Condividi tramite


struttura PERF_OBJECT_TYPE (winperf.h)

Vengono descritte le informazioni sulle prestazioni specifiche dell'oggetto, ad esempio il numero di istanze dell'oggetto e il numero di contatori definiti dall'oggetto.

Sintassi

typedef struct _PERF_OBJECT_TYPE {
  DWORD         TotalByteLength;
  DWORD         DefinitionLength;
  DWORD         HeaderLength;
  DWORD         ObjectNameTitleIndex;
#if ...
  DWORD         ObjectNameTitle;
#else
  LPWSTR        ObjectNameTitle;
#endif
  DWORD         ObjectHelpTitleIndex;
#if ...
  DWORD         ObjectHelpTitle;
#else
  LPWSTR        ObjectHelpTitle;
#endif
  DWORD         DetailLevel;
  DWORD         NumCounters;
  LONG          DefaultCounter;
  LONG          NumInstances;
  DWORD         CodePage;
  LARGE_INTEGER PerfTime;
  LARGE_INTEGER PerfFreq;
} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;

Members

TotalByteLength

Dimensioni dei dati specifici dell'oggetto, in byte. Questo membro è l'offset dall'inizio di questa struttura alla struttura PERF_OBJECT_TYPE successiva, se presente.

DefinitionLength

Dimensioni di questa struttura più le dimensioni di tutti i
PERF_COUNTER_DEFINITION strutture.

Se l'oggetto è un oggetto a più istanze (il membro NumInstances non è zero), questo membro corrisponde all'offset dall'inizio di questa struttura alla prima struttura PERF_INSTANCE_DEFINITION . In caso contrario, questo valore corrisponde all'offset del PERF_COUNTER_BLOCK.

HeaderLength

Dimensioni di questa struttura, in byte. Questo membro è l'offset dall'inizio di questa struttura alla prima struttura PERF_COUNTER_DEFINITION .

ObjectNameTitleIndex

Indicizzare il nome dell'oggetto nel database del titolo. Per informazioni dettagliate sull'uso dell'indice per recuperare il nome dell'oggetto, vedere Recupero dei nomi dei contatori e del testo della Guida.

I provider specificano il valore di indice nel file di inizializzazione. Per informazioni dettagliate, vedere Aggiunta di nomi di contatori e descrizioni al Registro di sistema.

ObjectNameTitle

Riservato.

ObjectHelpTitleIndex

Indice del testo della Guida dell'oggetto nel database del titolo. Per informazioni dettagliate sull'uso dell'indice per recuperare il testo della Guida dell'oggetto, vedere Recupero dei nomi dei contatori e del testo della Guida.

I provider specificano il valore di indice nel file di inizializzazione. Per informazioni dettagliate, vedere Aggiunta di nomi di contatori e descrizioni al Registro di sistema.

ObjectHelpTitle

Riservato.

DetailLevel

Livello di dettaglio. I consumer usano questo valore per controllare la complessità della visualizzazione. Questo valore è il livello di dettaglio minimo di tutti i contatori per un determinato oggetto. Questo membro può essere uno dei valori seguenti.

Livello di dettaglio Significato
PERF_DETAIL_NOVICE
I dati del contatore vengono forniti per tutti gli utenti.
PERF_DETAIL_ADVANCED
I dati del contatore vengono forniti per gli utenti avanzati.
PERF_DETAIL_EXPERT
I dati del contatore vengono forniti per gli utenti esperti.
PERF_DETAIL_WIZARD
I dati del contatore vengono forniti per le finestre di progettazione di sistema.

NumCounters

Numero di blocchi PERF_COUNTER_DEFINITION restituiti dall'oggetto .

DefaultCounter

Indice del nome del contatore nel database del titolo del contatore predefinito le cui informazioni devono essere visualizzate quando questo oggetto viene selezionato nello strumento Prestazioni. Questo membro può essere -1 per indicare che non esiste un valore predefinito.

NumInstances

Numero di istanze dell'oggetto per cui vengono forniti i contatori. Se l'oggetto può avere zero o più istanze, ma non ha attualmente alcun valore, questo valore deve essere zero. Se l'oggetto non può avere più istanze, questo valore deve essere PERF_NO_INSTANCES.

CodePage

Questo membro è zero se le stringhe di istanza sono stringhe Unicode. In caso contrario, questo membro è l'identificatore della tabella codici dei nomi delle istanze. È possibile usare il valore della tabella codici quando si chiama MultiByteToWideChar per convertire la stringa in Unicode.

PerfTime

Timestamp generato dal provider utilizzato dai consumer durante il calcolo dei valori dei contatori. Ad esempio, questo potrebbe essere il valore corrente, in conteggio, del contatore delle prestazioni ad alta risoluzione.

I provider devono fornire questo valore se i tipi di contatori dei contatori includono il flag PERF_OBJECT_TIMER . In caso contrario, i consumer usano il valore PerfTime da PERF_DATA_BLOCK.

PerfFreq

Valore di frequenza generato dal provider utilizzato dai consumer durante il calcolo dei valori dei contatori. Ad esempio, potrebbe trattarsi della frequenza corrente, in conteggi al secondo, del contatore delle prestazioni ad alta risoluzione.

I provider devono fornire questo valore se i tipi di contatori dei contatori includono il flag PERF_OBJECT_TIMER . In caso contrario, i consumer usano il valore PerfFreq da PERF_DATA_BLOCK.

Commenti

I provider usano questa struttura per fornire dati sulle prestazioni per gli oggetti supportati. I consumer usano questa struttura per utilizzare i dati sulle prestazioni per gli oggetti sottoposti a query.

Questa struttura è seguita da un elenco di strutture PERF_COUNTER_DEFINITION , una per ogni contatore definito per l'oggetto prestazioni. Per informazioni dettagliate sul layout del blocco di dati delle prestazioni, vedere Formato dati prestazioni.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winperf.h (include Windows.h)

Vedi anche

PERF_COUNTER_DEFINITION

PERF_DATA_BLOCK

Formato dati prestazioni