Fungsi PdhLookupPerfNameByIndexW (pdh.h)

Mengembalikan nama objek performa atau nama penghitung yang sesuai dengan indeks yang ditentukan.

Sintaks

PDH_FUNCTION PdhLookupPerfNameByIndexW(
  [in]      LPCWSTR szMachineName,
  [in]      DWORD   dwNameIndex,
  [out]     LPWSTR  szNameBuffer,
  [in, out] LPDWORD pcchNameBufferSize
);

Parameter

[in] szMachineName

String yang dihentikan null yang menentukan nama komputer tempat objek performa atau penghitung yang ditentukan berada. Nama komputer dapat ditentukan dengan nama DNS atau alamat IP. Jika NULL, fungsi menggunakan komputer lokal.

[in] dwNameIndex

Indeks objek performa atau penghitung.

[out] szNameBuffer

Buffer yang dialokasikan penelepon yang menerima nama objek performa atau penghitung yang dialokasikan null. Atur ke NULL jika pcchNameBufferSize adalah nol.

[in, out] pcchNameBufferSize

Ukuran buffer szNameBuffer , 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 mengalokasikan kembali buffer.

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
Buffer szNameBuffer tidak cukup besar untuk berisi nama penghitung. Nilai yang dikembalikan ini diharapkan jika pcchNameBufferSize 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 mengalokasikan kembali buffer.
PDH_INVALID_ARGUMENT
Parameter tidak valid atau salah diformat. 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.

Keterangan

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

Windows XP: Anda harus menentukan ukuran buffer dan buffer. Fungsi ini mengatur pcchNameBufferSize ke ukuran yang diperlukan atau ukuran buffer yang digunakan. Jika buffer terlalu kecil, fungsi mengembalikan PDH_INSUFFICIENT_BUFFER alih-alih PDH_MORE_DATA. Ukuran string maksimum dalam byte adalah PDH_MAX_COUNTER_NAME * sizeof(TCHAR).

Nilai indeks yang Anda tentukan harus cocok dengan salah satu nilai indeks yang terkait dengan objek atau penghitung yang dimuat di komputer. Pasangan nilai indeks/nama disimpan dalam nilai registri Penghitung di lokasi registri berikut.

HKEY_LOCAL_MACHINE
   \SOFTWARE
      \Microsoft
         \Windows NT
            \CurrentVersion
               \Perflib
                  Last Counter = highest counter index
                  Last Help = highest help index
                  \009
                     Counters = 2 System 4 Memory...
                     Help = 3 The System Object Type...
                  \supported language, other than English
                     Counters = ...
                     Help = ...

Catatan

Header pdh.h mendefinisikan PdhLookupPerfNameByIndex 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

PdhLookupPerfIndexByName