Condividi tramite


Funzione PdhGetDefaultPerfCounterHW (pdh.h)

Recupera il nome del contatore predefinito per l'oggetto specificato. Questo nome può essere utilizzato per impostare la selezione iniziale del contatore nella finestra di dialogo Sfoglia contatore.

Questa funzione è identica a PdhGetDefaultPerfCounter, ad eccezione del fatto che supporta l'uso di handle per le origini dati.

Sintassi

PDH_FUNCTION PdhGetDefaultPerfCounterHW(
  [in]      PDH_HLOG hDataSource,
  [in]      LPCWSTR  szMachineName,
  [in]      LPCWSTR  szObjectName,
  [out]     LPWSTR   szDefaultCounterName,
  [in, out] LPDWORD  pcchBufferSize
);

Parametri

[in] hDataSource

Deve essere null.

Se si specifica un handle di file di log, szDefaultCounterName sarà una stringa null.

[in] szMachineName

Nullstringa con terminazione che specifica il nome del computer utilizzato per verificare il nome dell'oggetto. Se NULL, il computer locale viene usato per verificare il nome.

[in] szObjectName

Nullstringa con terminazione che specifica il nome dell'oggetto il cui nome del contatore predefinito da recuperare.

[out] szDefaultCounterName

Buffer allocato dal chiamante che riceve il null-terminato nome del contatore predefinito. Impostare su NULL se pcchBufferSize è zero.

[in, out] pcchBufferSize

Dimensioni del buffer di szDefaultCounterName , 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 szDefaultCounterName è troppo piccolo per contenere il nome del contatore. Questo valore restituito è previsto se pcchBufferSize è 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 obbligatorio non è valido. Ad esempio, in alcune versioni è possibile ricevere questo errore se la dimensione specificata per l'input è maggiore di zero, ma minore della dimensione richiesta.
PDH_MEMORY_ALLOCATION_FAILURE
Impossibile allocare memoria per completare la funzione.
PDH_CSTATUS_NO_MACHINE
Il computer specificato è offline o non disponibile.
PDH_CSTATUS_NO_COUNTERNAME
Impossibile leggere o trovare il nome del contatore predefinito.
PDH_CSTATUS_NO_OBJECT
Impossibile trovare l'oggetto specificato.
PDH_CSTATUS_NO_COUNTER
L'oggetto non ha specificato un contatore predefinito.

Osservazioni

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

Nota

L'intestazione pdh.h definisce PdhGetDefaultPerfCounterH 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

PdhBindInputDataSource

PdhBrowseCountersH

PdhGetDefaultPerfObjectH