Condividi tramite


Funzione PerfEnumerateCounterSetInstances (perflib.h)

Ottiene i nomi e gli identificatori delle istanze attive di un contatore impostato su

sistema specificato.

Sintassi

ULONG PerfEnumerateCounterSetInstances(
  [in, optional]  LPCWSTR               szMachine,
  [in]            LPCGUID               pCounterSetId,
  [out, optional] PPERF_INSTANCE_HEADER pInstances,
                  DWORD                 cbInstances,
  [out]           LPDWORD               pcbInstancesActual
);

Parametri

[in, optional] szMachine

Nome del computer per cui ottenere le informazioni sulle istanze attive del set di contatori specificato dal parametro pCounterSet . Se NULL, la funzione recupera informazioni sulle istanze attive del set di contatori specificato per il computer locale.

[in] pCounterSetId

Identificatore del set di contatori del set di contatori per il quale si desidera ottenere le informazioni sulle istanze attive.

[out, optional] pInstances

Puntatore a un buffer sufficiente per ricevere la quantità di dati specificati dal parametro cbInstances . Può essere

NULL se cbInstances è 0.

cbInstances

Dimensione del buffer specificata dal parametro pInstances in byte.

[out] pcbInstancesActual

Dimensioni del buffer effettivamente necessarie per ottenere le informazioni sulle istanze attive. Il significato dipende dal valore che la funzione

Restituisce.

Valore restituito dalla funzione Significato di pcbInstancesActual
ERROR_SUCCESS Numero di

byte di informazioni sulle istanze attive del set di contatori specificato archiviato nel buffer che pInstances specificato.

ERROR_NOT_ENOUGH_MEMORY The

dimensioni del buffer necessario per archiviare le informazioni sulle istanze attive del contatore impostate nel computer specificato, in byte. Ingrandire il buffer all'oggetto richiesto

dimensioni e chiamare di nuovo la funzione.

Altro Il valore non è definito e non deve essere usato.

Valore restituito

Codice restituito Descrizione
ERROR_SUCCESS
La funzione ha archiviato tutte le informazioni sulle istanze attive del contatore impostate nel buffer specificato da pInstances . Il valore che pcbInstancesActual punta a indica la quantità di informazioni effettivamente archiviate nel buffer, in byte.
ERROR_NOT_ENOUGH_MEMORY
Il buffer specificato da pInstance non è sufficiente per archiviare tutte le informazioni sulle istanze attive del set di contatori. Valore che pcbInstancesActual punta a indica le dimensioni del buffer necessarie per archiviare tutte le informazioni. Ingrandire il buffer all'oggetto richiesto

dimensioni e chiamare di nuovo la funzione.

 

Per altri tipi di errori, il valore restituito è un codice di errore di sistema.

Commenti

Le informazioni sulle istanze attive del set di contatori specificato vengono scritte nel buffer che pInstances specifica come sequenza di blocchi PERF_INSTANCE_HEADER . Dimensioni in byte di

la sequenza di blocchi viene scritta in pcbInstancesActual. Ogni blocco PERF_INSTANCE_HEADER è costituito

di una struttura PERF_INSTANCE_HEADER , immediatamente seguita da un UTF-16LE con terminazione null

nome dell'istanza, seguito dalla spaziatura interna in modo che le dimensioni dell'oggetto

PERF_INSTANCE_HEADER blocco è un multiplo di 8 byte.

Requisiti

Requisito Valore
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_INSTANCE_HEADER

PerfEnumerateCounterSet