Bagikan melalui


Fungsi PdhEnumObjectsA (pdh.h)

Mengembalikan daftar objek yang tersedia di komputer yang ditentukan atau dalam file log yang ditentukan.

Untuk menggunakan handel ke sumber data, gunakan fungsi PdhEnumObjectsH.

Sintaksis

PDH_FUNCTION PdhEnumObjectsA(
  [in]      LPCSTR  szDataSource,
  [in]      LPCSTR  szMachineName,
  [out]     PZZSTR  mszObjectList,
  [in, out] LPDWORD pcchBufferSize,
  [in]      DWORD   dwDetailLevel,
  [in]      BOOL    bRefresh
);

Parameter

[in] szDataSource

String nulldihentikan yang menentukan nama file log yang digunakan untuk menghitung objek performa. Jika NULL, fungsi menggunakan komputer yang ditentukan dalam

parameter szMachineName untuk menghitung nama.

[in] szMachineName

String nulldihentikan yang menentukan nama komputer yang digunakan untuk menghitung objek performa.

Sertakan garis miring di depan dalam nama komputer, misalnya, \computername.

Jika parameter szDataSource NULL, Anda dapat mengatur szMachineName ke NULL untuk menentukan komputer lokal.

[out] mszObjectList

Buffer yang dialokasikan pemanggil yang menerima daftar nama objek. Setiap nama objek dalam daftar ini dihentikan oleh karakter null. Daftar dihentikan dengan dua karakter null-terminator. Atur ke NULL jika parameter pcchBufferLength adalah nol.

[in, out] pcchBufferSize

Ukuran buffer mszObjectList , dalam TCHAR. Jika nol pada input, 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 merealokasi buffer.

Windows XP: Tambahkan ke ukuran buffer yang diperlukan.

[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 Arti
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] bRefresh

Menunjukkan apakah daftar objek yang di-cache harus di-refresh secara otomatis. Tentukan salah satu nilai berikut.

Jika Anda memanggil fungsi ini dua kali, sekali untuk mendapatkan ukuran daftar dan kedua kalinya untuk mendapatkan daftar aktual, atur parameter ini ke TRUE pada panggilan pertama dan FALSE pada panggilan kedua. Jika kedua panggilan TRUE, panggilan kedua juga dapat mengembalikan PDH_MORE_DATA karena data objek mungkin telah berubah di antara panggilan.

Nilai Arti
TRUE
Cache objek disegarkan secara otomatis sebelum objek dikembalikan.
FALSE
Jangan merefresh cache secara otomatis.

Mengembalikan nilai

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.

Mengembalikan kode Deskripsi
PDH_MORE_DATA
Buffer mszObjectList terlalu kecil untuk menyimpan daftar objek. Nilai pengembalian ini diharapkan jika pcchBufferLength adalah 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 merealokasi buffer.
PDH_CSTATUS_NO_MACHINE
Komputer yang ditentukan sedang luring atau tidak tersedia.
PDH_CSTATUS_NO_OBJECT
Objek yang ditentukan tidak dapat ditemukan.
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.

Komentar

Anda harus memanggil fungsi ini dua kali, pertama kali untuk mendapatkan ukuran buffer yang diperlukan (atur mszObjectList ke null dan pcchBufferLength ke 0), dan kedua kalinya untuk mendapatkan data.

Nota

Header pdh.h mendefinisikan PdhEnumObjects sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem 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

Syarat Nilai
klien minimum yang didukung Windows XP [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Platform Target Windows
Header pdh.h
Pustaka Pdh.lib
DLL Pdh.dll

Lihat juga

PdhEnumObjectItems

PdhEnumObjectsH