Condividi tramite


Funzione PerfAddCounters (perflib.h)

Aggiunge specifiche del contatore delle prestazioni alla query specificata.

Sintassi

ULONG PerfAddCounters(
  [in]      HANDLE                   hQuery,
  [in, out] PPERF_COUNTER_IDENTIFIER pCounters,
            DWORD                    cbCounters
);

Parametri

[in] hQuery

Handle per la query a cui si desidera aggiungere specifiche del contatore delle prestazioni.

[in, out] pCounters

Puntatore alle specifiche del contatore delle prestazioni da aggiungere.

cbCounters

Dimensione del buffer specificata dal parametro pCounters , espressa in byte.

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.

Commenti

Il parametro pCounters deve puntare a una sequenza di blocchi PERF_COUNTER_IDENTIFIER . Ogni blocco PERF_COUNTER_IDENTIFIER è costituito da una struttura PERF_COUNTER_IDENTIFIER , seguita facoltativamente da una stringa del nome dell'istanza UTF-16LE con terminazione Null, seguita dalla spaziatura interna che rende le dimensioni del blocco un multiplo di 8 byte.

Per ogni blocco di PERF_COUNTER_IDENTIFIER :

  • Impostare il membro CounterSetGuid della struttura PERF_COUNTER_IDENTIFIER sull'identificatore del set di contatori su cui eseguire una query.
  • Impostare il membro Status della struttura PERF_COUNTER_IDENTIFIER su 0.
  • Impostare il membro Size della struttura PERF_COUNTER_IDENTIFIER sulle dimensioni del blocco PERF_COUNTER_IDENTIFIER in byte, tra cui la struttura PERF_COUNTER_IDENTIFIER , il nome dell'istanza e la spaziatura interna. Il valore di Size deve essere un multiplo di 8.
  • Impostare il membro CounterId della struttura PERF_COUNTER_IDENTIFIER sull'identificatore del contatore che deve essere restituito dalla query. Per restituire tutti i contatori, impostare CounterId su PERF_WILDCARD_COUNTER.
  • Impostare il membro InstanceId della struttura PERF_COUNTER_IDENTIFIER sull'identificatore dell'istanza che deve essere restituita dalla query. Se non è necessario applicare filtri in base all'identificatore dell'istanza, impostare InstanceId su PERF_WILDCARD_COUNTER.
  • Impostare il membro Index della struttura PERF_COUNTER_IDENTIFIER su 0.
  • Impostare il membro Riservato della struttura PERF_COUNTER_IDENTIFIER su 0.
  • Includere il nome dell'istanza immediatamente dopo la struttura PERF_COUNTER_IDENTIFIER .
    • Se il set di contatori è a istanza singola, non impostare il nome dell'istanza. In questo caso, il valore del membro Size della struttura PERF_COUNTER_IDENTIFIER deve essere la dimensione della struttura PERF_COUNTER_IDENTIFIER .
    • Se il set di contatori è costituito da più istanze, è necessario impostare il nome dell'istanza. Se non si desidera filtrare le specifiche del contatore delle prestazioni in base al nome dell'istanza, usare PERF_WILDCARD_INSTANCE come nome dell'istanza.
PerfAddCounters tenta di aggiungere una specifica di contatore alla query per ogni blocco PERF_COUNTER_IDENTIFIER e aggiorna il membro Status della struttura PERF_COUNTER_IDENTIFIER in ogni blocco con il risultato del tentativo.

Requisiti

   
Client minimo supportato Windows 10 versione 1607 [solo app desktop]
Server minimo supportato Windows Server 2016 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione perflib.h
Libreria AdvAPI32.lib
DLL AdvAPI32.dll

Vedi anche

PERF_COUNTER_IDENTIFIER

PerfDeleteCounters