Fungsi PdhEnumObjectItemsA (pdh.h)
Mengembalikan penghitung objek dan nama instans yang ditentukan yang ada di komputer yang ditentukan atau dalam file log yang ditentukan.
Untuk menggunakan handel ke sumber data, gunakan fungsi PdhEnumObjectItemsH .
Sintaks
PDH_FUNCTION PdhEnumObjectItemsA(
[in] LPCSTR szDataSource,
[in] LPCSTR szMachineName,
[in] LPCSTR szObjectName,
[out] PZZSTR mszCounterList,
[in, out] LPDWORD pcchCounterListLength,
[out] PZZSTR mszInstanceList,
[in, out] LPDWORD pcchInstanceListLength,
[in] DWORD dwDetailLevel,
[in] DWORD dwFlags
);
Parameter
[in] szDataSource
String yang dihentikan null yang menentukan nama file log yang digunakan untuk menghitung penghitung dan nama instans. Jika NULL, fungsi menggunakan komputer yang ditentukan dalam
parameter szMachineName untuk menghitung nama.
[in] szMachineName
String yang dihentikan null yang menentukan nama komputer yang berisi penghitung dan nama instans yang ingin Anda hitung.
Sertakan garis miring terkemuka dalam nama komputer, misalnya, \computername.
Jika parameter szDataSource adalah NULL, Anda dapat mengatur szMachineName ke NULL untuk menentukan komputer lokal.
[in] szObjectName
String yang dihentikan null yang menentukan nama objek yang penghitung dan nama instansnya ingin Anda hitung.
[out] mszCounterList
Buffer yang dialokasikan penelepon yang menerima daftar nama penghitung yang dihentikan null yang disediakan oleh objek yang ditentukan. Daftar ini berisi nama penghitung yang unik. Daftar dihentikan oleh dua karakter NULL . Atur ke NULL jika parameter pcchCounterListLength adalah nol.
[in, out] pcchCounterListLength
Ukuran buffer mszCounterList , dalam TCHAR. Jika nol pada input dan objek ada, fungsi mengembalikan PDH_MORE_DATA dan mengatur parameter ini ke ukuran buffer yang diperlukan. Jika buffer lebih besar dari ukuran yang diperlukan, fungsi mengatur parameter ini ke ukuran buffer aktual yang digunakan. Jika ukuran yang ditentukan pada input lebih besar dari nol tetapi kurang dari ukuran yang diperlukan, Anda tidak boleh mengandalkan ukuran yang dikembalikan untuk mengalokasikan kembali buffer.
[out] mszInstanceList
Buffer yang dialokasikan penelepon yang menerima daftar nama instans yang dihentikan null yang disediakan oleh objek yang ditentukan. Daftar ini berisi nama instans yang unik. Daftar dihentikan oleh dua karakter NULL . Atur ke NULL jika pcchInstanceListLength adalah nol.
[in, out] pcchInstanceListLength
Ukuran buffer mszInstanceList , dalam TCHAR. Jika nol pada input dan objek ada, fungsi mengembalikan PDH_MORE_DATA dan mengatur parameter ini ke ukuran buffer yang diperlukan. Jika buffer lebih besar dari ukuran yang diperlukan, fungsi mengatur parameter ini ke ukuran buffer aktual yang digunakan. Jika ukuran yang ditentukan pada input lebih besar dari nol tetapi kurang dari ukuran yang diperlukan, Anda tidak boleh mengandalkan ukuran yang dikembalikan untuk mengalokasikan kembali buffer.
Jika objek yang ditentukan tidak mendukung instans variabel, maka nilai yang dikembalikan akan menjadi nol. Jika objek yang ditentukan mendukung instans variabel, tetapi saat ini tidak memiliki instans apa pun, maka nilai yang dikembalikan adalah 2, yang merupakan ukuran string daftar MULTI_SZ kosong.
[in] dwDetailLevel
Tingkat detail item performa yang akan dikembalikan. Semua item yang berada di tingkat detail yang ditentukan atau kurang akan dikembalikan (tingkat dicantumkan dalam urutan yang meningkat). Parameter ini bisa menjadi salah satu nilai berikut.
[in] dwFlags
Parameter ini harus nol.
Nilai kembali
Jika fungsi berhasil, fungsi akan mengembalikan ERROR_SUCCESS.
Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan sistem atau kode kesalahan PDH. Berikut ini adalah nilai yang mungkin.
Menampilkan kode | Deskripsi |
---|---|
|
Salah satu buffer terlalu kecil untuk berisi daftar nama. Nilai pengembalian ini diharapkan jika pcchCounterListLength atau pcchInstanceListLength nol pada input. Jika ukuran yang ditentukan pada input lebih besar dari nol tetapi kurang dari ukuran yang diperlukan, Anda tidak boleh mengandalkan ukuran yang dikembalikan untuk mengalokasikan kembali buffer. |
|
Parameter tidak valid. Misalnya, pada beberapa rilis, Anda dapat menerima kesalahan ini jika ukuran yang ditentukan pada input lebih besar dari nol tetapi kurang dari ukuran yang diperlukan. |
|
Tidak dapat mengalokasikan memori untuk mendukung fungsi ini. |
|
Komputer yang ditentukan luring atau tidak tersedia. |
|
Objek yang ditentukan tidak dapat ditemukan pada komputer yang ditentukan atau dalam file log yang ditentukan. |
Keterangan
Anda harus memanggil fungsi ini dua kali, pertama kali untuk mendapatkan ukuran buffer yang diperlukan (atur buffer ke NULL dan ukurannya menjadi 0), dan kedua kalinya untuk mendapatkan data.
Panggilan berturut-turut ke fungsi ini akan mengembalikan daftar penghitung dan instans yang identik, karena PdhEnumObjectItems akan selalu mengkueri daftar objek performa yang ditentukan oleh panggilan terakhir ke PdhEnumObjects atau PdhEnumObjectItems. Untuk me-refresh daftar objek performa, panggil PdhEnumObjects dengan nilai bendera bRefreshTRUE sebelum memanggil PdhEnumObjectItems lagi.
Urutan instans dan nama penghitung tidak ditentukan.
Contoh
Misalnya, lihat Menghitung Objek Proses.
Catatan
Header pdh.h mendefinisikan PdhEnumObjectItems sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | pdh.h |
Pustaka | Pdh.lib |
DLL | Pdh.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk