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.

Nilai Makna
PERF_DETAIL_NOVICE
Tingkat detail pengguna pemula.
PERF_DETAIL_ADVANCED
Tingkat detail pengguna tingkat lanjut.
PERF_DETAIL_EXPERT
Tingkat detail pengguna ahli.
PERF_DETAIL_WIZARD
Tingkat detail perancang sistem.

[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
PDH_MORE_DATA
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.
PDH_INVALID_ARGUMENT
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.
PDH_MEMORY_ALLOCATION_FAILURE
Tidak dapat mengalokasikan memori untuk mendukung fungsi ini.
PDH_CSTATUS_NO_MACHINE
Komputer yang ditentukan luring atau tidak tersedia.
PDH_CSTATUS_NO_OBJECT
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

PdhEnumObjectItemsH

PdhEnumObjects