Funzione PdhEnumMachinesW (pdh.h)
Restituisce un elenco dei nomi di computer associati ai contatori in un file di log. I nomi dei computer sono stati specificati quando si aggiungono contatori alla query o quando si chiama la funzione PdhConnectMachine. I computer elencati includono quelli attualmente connessi e online, oltre a quelli offline o che non restituiscono dati sulle prestazioni.
Per usare handle per le origini dati, usare la funzione PdhEnumMachinesH
Sintassi
PDH_FUNCTION PdhEnumMachinesW(
[in] LPCWSTR szDataSource,
[out] PZZWSTR mszMachineList,
[in, out] LPDWORD pcchBufferSize
);
Parametri
[in] szDataSource
nullstringa con terminazione che specifica il nome di un file di log. La funzione enumera i nomi dei computer i cui dati del contatore si trovano nel file di log. Se NULL, la funzione enumera l'elenco dei computer specificati durante l'aggiunta di contatori a una query in tempo reale o quando si chiama la funzione PdhConnectMachine.
[out] mszMachineList
Buffer allocato dal chiamante per ricevere l'elenco di nullstringhe con terminazione che contengono i nomi dei computer. L'elenco viene terminato con due caratteri null-terminatore. Impostare su NULL se pcchBufferLength è zero.
[in, out] pcchBufferSize
Dimensioni del buffer di mszMachineNameList 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 |
---|---|
|
Il buffer mszMachineNameList è troppo piccolo per contenere tutti i dati. Questo valore restituito è previsto se pcchBufferLength è 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. |
|
Parametro 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. |
Osservazioni
È necessario chiamare questa funzione due volte, la prima volta per ottenere le dimensioni del buffer necessarie (impostare mszMachineNameList su NULL e pcchBufferLength su 0) e la seconda volta per ottenere i dati.
Nota
L'intestazione pdh.h definisce PdhEnumMachines 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 |