Bagikan melalui


Fungsi PdhExpandWildCardPathA (pdh.h)

Memeriksa komputer atau file log yang ditentukan dan mengembalikan jalur penghitung yang cocok dengan jalur penghitung yang diberikan yang berisi karakter kartubebas.

Untuk menggunakan handel ke sumber data, gunakan fungsi PdhExpandWildCardPathH.

Sintaksis

PDH_FUNCTION PdhExpandWildCardPathA(
  [in]      LPCSTR  szDataSource,
  [in]      LPCSTR  szWildCardPath,
  [out]     PZZSTR  mszExpandedPathList,
  [in, out] LPDWORD pcchPathListLength,
  [in]      DWORD   dwFlags
);

Parameter

[in] szDataSource

String nulldihentikan yang berisi nama file log. Fungsi ini menggunakan objek performa dan penghitung yang ditentukan dalam file log untuk memperluas jalur yang ditentukan dalam parameter szWildCardPath .

Jika NULL, fungsi mencari komputer yang ditentukan dalam szWildCardPath.

[in] szWildCardPath

String null-dihentikan yang menentukan jalur penghitung untuk diperluas. Panjang maksimum jalur penghitung adalah PDH_MAX_COUNTER_PATH.

Jika parameter szDataSource NULL, fungsi mencari komputer yang ditentukan di jalur untuk kecocokan. Jika jalur tidak menentukan komputer, fungsi akan mencari komputer lokal.

[out] mszExpandedPathList

Buffer yang dialokasikan pemanggil yang menerima daftar jalur penghitungnull yang diakhiri yang cocok dengan spesifikasi wildcard dalam szWildCardPath. Daftar dihentikan oleh dua karakter NULL. Atur ke NULL jika pcchPathListLength adalah nol.

[in, out] pcchPathListLength

Ukuran buffer mszExpandedPathList, 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 merealokasi buffer.

Catatan Anda harus menambahkannya ke ukuran yang diperlukan pada Windows XP.
 

[in] dwFlags

Bendera yang menunjukkan karakter kartubebas mana yang tidak akan diperluas. Anda dapat menentukan satu atau beberapa bendera.

Nilai Arti
PDH_NOEXPANDCOUNTERS
Jangan perluas nama penghitung jika jalur berisi karakter kartubebas untuk nama penghitung.
PDH_NOEXPANDINSTANCES
Jangan perluas nama instans jika jalur berisi karakter kartubebas untuk instans induk, nama instans, atau indeks instans.
PDH_REFRESHCOUNTERS
Refresh daftar penghitung.

Mengembalikan nilai

Jika fungsi berhasil, fungsi akan mengembalikan ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan sistem atau kode kesalahan PDH .

Mengembalikan kode Deskripsi
PDH_MORE_DATA
Buffer mszExpandedPathList tidak cukup besar untuk berisi daftar jalur. Nilai pengembalian ini diharapkan jika pcchPathListLength 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_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_INVALID_PATH
Objek yang ditentukan tidak berisi instans.
PDH_MEMORY_ALLOCATION_FAILURE
Tidak dapat mengalokasikan memori untuk mendukung fungsi ini.
PDH_CSTATUS_NO_OBJECT
Tidak dapat menemukan objek yang ditentukan pada komputer atau dalam file log.

Komentar

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

PdhExpandWildCardPath berbeda dari PdhExpandCounterPath dengan cara berikut:

  1. Memungkinkan Anda mengontrol karakter kartubebas mana yang diperluas.
  2. Konten file log dapat digunakan sebagai sumber nama penghitung.
Format jalur penghitung umum adalah sebagai berikut:

\computer\object(parent/instance#index)\counter

Komponen induk, instans, indeks, dan penghitung dari jalur penghitung mungkin berisi nama yang valid atau karakter kartubebas. Komponen komputer, induk, instans, dan indeks tidak diperlukan untuk semua penghitung.

Berikut ini adalah daftar format yang mungkin:

  • \\computer\object(parent/instance#index)\counter
  • \\computer\object(parent/instance)\counter
  • \\computer\object(instance#index)\counter
  • \\computer\object(instance)\counter
  • \\computer\object\counter
  • \object(parent/instance#index)\counter
  • \object(parent/instance)\counter
  • \object(instance#index)\counter
  • \object(instance)\counter
  • \object\counter
Gunakan tanda bintang (*) sebagai karakter kartubebas, misalnya, \object(*)\counter.

Jika karakter kartubebas ditentukan dalam nama induk, semua instans objek yang ditentukan yang cocok dengan instans dan bidang penghitung yang ditentukan akan dikembalikan. Misalnya, \object(*/instance)\counter.

Jika karakter kartubebas ditentukan dalam nama instans, semua instans objek dan objek induk yang ditentukan akan dikembalikan jika semua nama instans yang sesuai dengan indeks yang ditentukan cocok dengan karakter kartubebas. Misalnya, \object(parent/*)\counter. Jika objek tidak berisi instans, kesalahan terjadi.

Jika karakter kartubebas ditentukan dalam nama penghitung, semua penghitung objek yang ditentukan dikembalikan.

String jalur penghitung parsial cocok (misalnya, "pro*") didukung.

Sebelum Windows Vista: Kecocokan kartubebas parsial tidak didukung.

Nota

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

PdhEnumObjects

PdhExpandCounterPath

PdhExpandWildCardPathH