Condividi tramite


Funzione PdhLookupPerfNameByIndexA (pdh.h)

Restituisce il nome dell'oggetto prestazioni o il nome del contatore corrispondente all'indice specificato.

Sintassi

PDH_FUNCTION PdhLookupPerfNameByIndexA(
  [in]      LPCSTR  szMachineName,
  [in]      DWORD   dwNameIndex,
  [out]     LPSTR   szNameBuffer,
  [in, out] LPDWORD pcchNameBufferSize
);

Parametri

[in] szMachineName

Nullstringa con terminazione che specifica il nome del computer in cui si trova l'oggetto o il contatore delle prestazioni specificato. Il nome del computer può essere specificato dal nome DNS o dall'indirizzo IP. Se NULL, la funzione usa il computer locale.

[in] dwNameIndex

Indice dell'oggetto o del contatore delle prestazioni.

[out] szNameBuffer

Buffer allocato dal chiamante che riceve il nullnome terminato dell'oggetto o del contatore delle prestazioni. Impostare su NULL se pcchNameBufferSize è zero.

[in, out] pcchNameBufferSize

Dimensioni del buffer di szNameBuffer , in TCHARs. Se zero in ingresso, la funzione restituisce PDH_MORE_DATA e imposta questo parametro sulla dimensione del buffer richiesta. Se il buffer è maggiore delle dimensioni necessarie, la funzione imposta questo parametro sulle dimensioni effettive del buffer utilizzato. Se la dimensione specificata per l'input è maggiore di zero ma minore della dimensione richiesta, non è consigliabile basarsi sulle dimensioni restituite per riallocare il buffer.

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
PDH_MORE_DATA
Il buffer szNameBuffer non è sufficientemente grande da contenere il nome del contatore. Questo valore restituito è previsto se pcchNameBufferSize è zero all'input. Se la dimensione specificata per l'input è maggiore di zero ma minore della dimensione richiesta, non è consigliabile basarsi sulle dimensioni restituite per riallocare il buffer.
PDH_INVALID_ARGUMENT
Un parametro non è valido o non è formattato correttamente. Ad esempio, in alcune versioni è possibile ricevere questo errore se la dimensione specificata per l'input è maggiore di zero, ma minore della dimensione richiesta.

Osservazioni

È necessario chiamare questa funzione due volte, la prima volta per ottenere le dimensioni del buffer necessarie (impostare szNameBuffer su NULL e pcchNameBufferSize su 0) e la seconda volta per ottenere i dati.

Windows XP: È necessario specificare una dimensione del buffer e del buffer. La funzione imposta pcchNameBufferSize sulle dimensioni necessarie o sulle dimensioni del buffer utilizzato. Se il buffer è troppo piccolo, la funzione restituisce PDH_INSUFFICIENT_BUFFER anziché PDH_MORE_DATA. La dimensione massima della stringa in byte è PDH_MAX_COUNTER_NAME * sizeof(TCHAR).

Il valore di indice specificato deve corrispondere a uno dei valori di indice associati agli oggetti o ai contatori caricati nel computer. Le coppie di valori di indice/nome vengono archiviate nel contatori valore del Registro di sistema nel percorso del Registro di sistema seguente.

HKEY_LOCAL_MACHINE
   \SOFTWARE
      \Microsoft
         \Windows NT
            \CurrentVersion
               \Perflib
                  Last Counter = highest counter index
                  Last Help = highest help index
                  \009
                     Counters = 2 System 4 Memory...
                     Help = 3 The System Object Type...
                  \supported language, other than English
                     Counters = ...
                     Help = ...

Nota

L'intestazione pdh.h definisce PdhLookupPerfNameByIndex come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione pdh.h
libreria Pdh.lib
dll Pdh.dll

Vedere anche

PdhLookupPerfIndexByName