Kode Kesalahan Pembantu Data Performa
Semua fungsi Performance Data Helper (PDH) mengembalikan nilai jenis PDH_STATUS. Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS
. Jika tidak, fungsi mengembalikan kode kesalahan sistem atau kode kesalahan PDH. Untuk mengambil teks deskripsi untuk kesalahan dalam aplikasi Anda, gunakan fungsi FormatMessage seperti yang ditunjukkan dalam contoh berikut.
#include <windows.h>
#include <stdio.h>
#include <pdhmsg.h>
void main(void)
{
HANDLE hPdhLibrary = NULL;
LPWSTR pMessage = NULL;
DWORD dwErrorCode = PDH_PLA_ERROR_ALREADY_EXISTS;
hPdhLibrary = LoadLibrary(L"pdh.dll");
if (NULL == hPdhLibrary)
{
wprintf(L"LoadLibrary failed with %lu\n", GetLastError());
return;
}
if (!FormatMessage(FORMAT_MESSAGE_FROM_HMODULE |
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_IGNORE_INSERTS,
hPdhLibrary,
dwErrorCode,
0,
(LPWSTR)&pMessage,
0,
NULL))
{
wprintf(L"Format message failed with 0x%x\n", GetLastError());
return;
}
wprintf(L"Formatted message: %ls\n", pMessage);
LocalFree(pMessage);
}
Untuk fungsi pengumpulan dan pemformatan data, penting untuk diingat bahwa nilai pengembalian fungsi menunjukkan keberhasilan atau kesalahan panggilan fungsi dan belum tentu dari data penghitung. Selalu periksa anggota CStatus dari nilai penghitung yang dikembalikan untuk memastikan bahwa data yang dikembalikan valid sebelum Anda menggunakannya. Jika nilai anggota CStatus tidak menunjukkan keberhasilan, jangan gunakan data.
Tabel berikut ini menyediakan daftar kode kesalahan yang khusus untuk PDH. Nilai-nilai ini didefinisikan dalam pdhmsg.h
file header.
Kode kesalahan | Deskripsi |
---|---|
0x00000000 (PDH_CSTATUS_VALID_DATA) | Data yang dikembalikan valid. |
0x00000001 (PDH_CSTATUS_NEW_DATA) | Nilai data yang dikembalikan valid dan berbeda dari sampel terakhir. |
0x800007D0 (PDH_CSTATUS_NO_MACHINE) | Tidak dapat tersambung ke komputer yang ditentukan, atau komputer sedang luring. |
0x800007D1 (PDH_CSTATUS_NO_INSTANCE) | Instans yang ditentukan tidak ada. |
0x800007D2 (PDH_MORE_DATA) | Ada lebih banyak data untuk dikembalikan daripada yang akan pas dalam buffer yang disediakan. Alokasikan buffer yang lebih besar dan panggil fungsi lagi. |
0x800007D3 (PDH_CSTATUS_ITEM_NOT_VALIDATED) | Item data telah ditambahkan ke kueri tetapi belum divalidasi atau diakses. Tidak ada informasi status lain pada item data ini yang tersedia. |
0x800007D4 (PDH_RETRY) | Operasi yang dipilih harus dicoba kembali. |
0x800007D5 (PDH_NO_DATA) | Tidak ada data yang akan dikembalikan. |
0x800007D6 (PDH_CALC_NEGATIVE_DENOMINATOR) | Penghitung dengan nilai denominator negatif terdeteksi. |
0x800007D7 (PDH_CALC_NEGATIVE_TIMEBASE) | Penghitung dengan nilai dasar waktu negatif terdeteksi. |
0x800007D8 (PDH_CALC_NEGATIVE_VALUE) | Penghitung dengan nilai negatif terdeteksi. |
0x800007D9 (PDH_DIALOG_CANCELLED) | Pengguna membatalkan kotak dialog. |
0x800007DA (PDH_END_OF_LOG_FILE) | Akhir file log tercapai. |
0x800007DB (PDH_ASYNC_QUERY_TIMEOUT) | Waktu habis terjadi saat menunggu utas pengumpulan penghitung asinkron berakhir. |
0x800007DC (PDH_CANNOT_SET_DEFAULT_REALTIME_DATASOURCE) | Tidak dapat mengubah set sumber data real-time default. Ada sesi kueri real time yang mengumpulkan data penghitung. |
0xC0000BB8 (PDH_CSTATUS_NO_OBJECT) | Objek yang ditentukan tidak ditemukan pada sistem. |
0xC0000BB9 (PDH_CSTATUS_NO_COUNTER) | Penghitung yang ditentukan tidak dapat ditemukan. |
0xC0000BBA (PDH_CSTATUS_INVALID_DATA) | Data yang dikembalikan tidak valid. |
0xC0000BBB (PDH_MEMORY_ALLOCATION_FAILURE) | Fungsi PDH tidak dapat mengalokasikan memori sementara yang cukup untuk menyelesaikan operasi. Tutup beberapa aplikasi atau perluas file halaman dan coba lagi fungsinya. |
0xC0000BBC (PDH_INVALID_HANDLE) | Handel bukanlah objek PDH yang valid. |
0xC0000BBD (PDH_INVALID_ARGUMENT) | Argumen yang diperlukan hilang atau salah. |
0xC0000BBE (PDH_FUNCTION_NOT_FOUND) | Tidak dapat menemukan fungsi yang ditentukan. |
0xC0000BBF (PDH_CSTATUS_NO_COUNTERNAME) | Tidak ada penghitung yang ditentukan. |
0xC0000BC0 (PDH_CSTATUS_BAD_COUNTERNAME) | Tidak dapat mengurai jalur penghitung. Periksa format dan sintaks jalur yang ditentukan. |
0xC0000BC1 (PDH_INVALID_BUFFER) | Buffer yang diteruskan oleh pemanggil tidak valid. |
0xC0000BC2 (PDH_INSUFFICIENT_BUFFER) | Data yang diminta lebih besar dari buffer yang disediakan. Tidak dapat mengembalikan data yang diminta. |
0xC0000BC3 (PDH_CANNOT_CONNECT_MACHINE) | Tidak dapat tersambung ke komputer yang diminta. |
0xC0000BC4 (PDH_INVALID_PATH) | Jalur penghitung yang ditentukan tidak dapat ditafsirkan. |
0xC0000BC5 (PDH_INVALID_INSTANCE) | Nama instans tidak dapat dibaca dari jalur penghitung yang ditentukan. |
0xC0000BC6 (PDH_INVALID_DATA) | Data tidak valid. |
0xC0000BC7 (PDH_NO_DIALOG_DATA) | Blok data kotak dialog hilang atau tidak valid. |
0xC0000BC8 (PDH_CANNOT_READ_NAME_STRINGS) | Tidak dapat membaca penghitung dan/atau teks bantuan dari komputer yang ditentukan. |
0xC0000BC9 (PDH_LOG_FILE_CREATE_ERROR) | Tidak dapat membuat file log yang ditentukan. |
0xC0000BCA (PDH_LOG_FILE_OPEN_ERROR) | Tidak dapat membuka file log yang ditentukan. |
0xC0000BCB (PDH_LOG_TYPE_NOT_FOUND) | Tipe file log yang ditentukan belum diinstal pada sistem ini. |
0xC0000BCC (PDH_NO_MORE_DATA) | Tidak ada lagi data yang tersedia. |
0xC0000BCD (PDH_ENTRY_NOT_IN_LOG_FILE) | Rekaman yang ditentukan tidak ditemukan dalam file log. |
0xC0000BCE (PDH_DATA_SOURCE_IS_LOG_FILE) | Sumber data yang ditentukan adalah file log. |
0xC0000BCF (PDH_DATA_SOURCE_IS_REAL_TIME) | Sumber data yang ditentukan adalah aktivitas saat ini. |
0xC0000BD0 (PDH_UNABLE_READ_LOG_HEADER) | Header file log tidak dapat dibaca. |
0xC0000BD1 (PDH_FILE_NOT_FOUND) | Tidak dapat menemukan file yang ditentukan. |
0xC0000BD2 (PDH_FILE_ALREADY_EXISTS) | Sudah ada file dengan nama file yang ditentukan. |
0xC0000BD3 (PDH_NOT_IMPLEMENTED) | Fungsi yang direferensikan belum diimplementasikan. |
0xC0000BD4 (PDH_STRING_NOT_FOUND) | Tidak dapat menemukan string yang ditentukan dalam daftar nama performa dan string teks bantuan. |
0x80000BD5 (PDH_UNABLE_MAP_NAME_FILES) | Tidak dapat memetakan ke file data nama penghitung kinerja. Data akan dibaca dari registri dan disimpan secara lokal. |
0xC0000BD6 (PDH_UNKNOWN_LOG_FORMAT) | Format file log yang ditentukan tidak dikenali oleh DLL PDH. |
0xC0000BD7 (PDH_UNKNOWN_LOGSVC_COMMAND) | Nilai perintah Layanan Log yang ditentukan tidak dikenali. |
0xC0000BD8 (PDH_LOGSVC_QUERY_NOT_FOUND) | Kueri yang ditentukan dari Layanan Log tidak dapat ditemukan atau tidak dapat dibuka. |
0xC0000BD9 (PDH_LOGSVC_NOT_OPENED) | Kunci Layanan Log Data Performa tidak dapat dibuka. Ini mungkin karena hak istimewa yang tidak memadai atau karena layanan belum diinstal. |
0xC0000BDA (PDH_WBEM_ERROR) | Terjadi kesalahan saat mengakses penyimpanan data WBEM. |
0xC0000BDB (PDH_ACCESS_DENIED) | Tidak dapat mengakses komputer atau layanan yang diinginkan. Periksa izin dan autentikasi layanan log atau sesi pengguna interaktif terhadap yang ada di komputer atau layanan yang sedang dipantau. |
0xC0000BDC (PDH_LOG_FILE_TOO_SMALL) | Ukuran file log maksimum yang ditentukan terlalu kecil untuk mencatat penghitung yang dipilih. Tidak ada data yang akan direkam dalam file log ini. Tentukan sekumpulan penghitung yang lebih kecil untuk mencatat atau ukuran file yang lebih besar dan coba lagi panggilan ini. |
0xC0000BDD (PDH_INVALID_DATASOURCE) | Tidak dapat tersambung ke Nama Sumber Data ODBC. |
0xC0000BDE (PDH_INVALID_SQLDB) | SQL Database tidak berisi sekumpulan tabel yang valid untuk Perfmon. |
0xC0000BDF (PDH_NO_COUNTERS) | Tidak ada penghitung yang ditemukan untuk Set Log SQL Perfmon ini. |
0xC0000BE0 (PDH_SQL_ALLOC_FAILED) | Panggilan ke SQLAllocStmt gagal dengan %1. |
0xC0000BE1 (PDH_SQL_ALLOCCON_FAILED) | Panggilan ke SQLAlloc Koneksi gagal dengan %1. |
0xC0000BE2 (PDH_SQL_EXEC_DIRECT_FAILED) | Panggilan ke SQLExecDirect gagal dengan %1. |
0xC0000BE3 (PDH_SQL_FETCH_FAILED) | Panggilan ke SQLFetch gagal dengan %1. |
0xC0000BE4 (PDH_SQL_ROWCOUNT_FAILED) | Panggilan ke SQLRowCount gagal dengan %1. |
0xC0000BE5 (PDH_SQL_MORE_RESULTS_FAILED) | Panggilan ke SQLMoreResults gagal dengan %1. |
0xC0000BE6 (PDH_SQL_CONNECT_FAILED) | Panggilan ke SQL Koneksi gagal dengan %1. |
0xC0000BE7 (PDH_SQL_BIND_FAILED) | Panggilan ke SQLBindCol gagal dengan %1. |
0xC0000BE8 (PDH_CANNOT_CONNECT_WMI_SERVER) | Tidak dapat tersambung ke server WMI pada komputer yang diminta. |
0xC0000BE9 (PDH_PLA_COLLECTION_ALREADY_RUNNING) | Koleksi %1!s!" sudah berjalan. |
0xC0000BEA (PDH_PLA_ERROR_SCHEDULE_OVERLAP) | Waktu mulai yang ditentukan adalah setelah waktu selesai. |
0xC0000BEB (PDH_PLA_COLLECTION_NOT_FOUND) | Koleksi %1!s!" tidak ada. |
0xC0000BEC (PDH_PLA_ERROR_SCHEDULE_ELAPSED) | Waktu akhir yang ditentukan telah berlalu. |
0xC0000BED (PDH_PLA_ERROR_NOSTART) | Koleksi %1!s!" tidak dimulai; periksa log peristiwa aplikasi untuk kesalahan apa pun. |
0xC0000BEE (PDH_PLA_ERROR_ALREADY_EXISTS) | Koleksi %1!s!" sudah ada. |
0xC0000BEF (PDH_PLA_ERROR_TYPE_MISMATCH) | Ada ketidakcocokan dalam jenis pengaturan. |
0xC0000BF0 (PDH_PLA_ERROR_FILEPATH) | Informasi yang ditentukan tidak diselesaikan ke nama jalur yang valid. |
0xC0000BF1 (PDH_PLA_SERVICE_ERROR) | Layanan "Log Performa & Pemberitahuan" tidak merespons. |
0xC0000BF2 (PDH_PLA_VALIDATION_ERROR) | Informasi yang diteruskan tidak valid. |
0x80000BF3 (PDH_PLA_VALIDATION_WARNING) | Informasi yang diteruskan tidak valid. |
0xC0000BF4 (PDH_PLA_ERROR_NAME_TOO_LONG) | Nama yang diberikan terlalu panjang. |
0xC0000BF5 (PDH_INVALID_SQL_LOG_FORMAT) | Format log SQL salah. Format yang benar adalah SQL:<DSN-name>!<LogSet-Name> . |
0xC0000BF6 (PDH_COUNTER_ALREADY_IN_QUERY) | Penghitung kinerja dalam panggilan PdhAddCounter telah ditambahkan dalam kueri performa. Penghitung ini diabaikan. |
0xC0000BF7 (PDH_BINARY_LOG_CORRUPT) | Tidak dapat membaca informasi penghitung dan data dari file log biner input. |
0xC0000BF8 (PDH_LOG_SAMPLE_TOO_SMALL) | Setidaknya salah satu file log biner input berisi kurang dari dua sampel data. |
0xC0000BF9 (PDH_OS_LATER_VERSION) | Versi sistem operasi pada komputer bernama %1 lebih baru dari yang ada pada komputer lokal. Operasi ini tidak tersedia dari komputer lokal. |
0xC0000BFA (PDH_OS_EARLIER_VERSION) | %1 mendukung %2 atau yang lebih baru. Periksa versi sistem operasi pada komputer bernama %3. |
0xC0000BFB (PDH_INCORRECT_APPEND_TIME) | File output harus berisi data yang lebih lama daripada file yang akan ditambahkan. |
0xC0000BFC (PDH_UNMATCHED_APPEND_COUNTER) | Kedua file harus memiliki penghitung yang identik untuk ditambahkan. |
0xC0000BFD (PDH_SQL_ALTER_DETAIL_FAILED) | Tidak dapat mengubah tata letak tabel CounterDetail dalam database SQL. |
0xC0000BFE (PDH_QUERY_PERF_DATA_TIMEOUT) | Sistem sibuk. Waktu habis terjadi saat mengumpulkan data penghitung. Silakan coba lagi nanti atau tingkatkan nilai registri CollectTime . |