Fungsi GetWsChangesEx (psapi.h)
Mengambil informasi yang diperluas tentang halaman yang telah ditambahkan ke kumpulan kerja proses yang ditentukan sejak terakhir kali fungsi ini atau fungsi InitializeProcessForWsWatch dipanggil.
Sintaks
BOOL GetWsChangesEx(
[in] HANDLE hProcess,
[out] PPSAPI_WS_WATCH_INFORMATION_EX lpWatchInfoEx,
[in, out] PDWORD cb
);
Parameter
[in] hProcess
Handel untuk proses. Handel harus memiliki hak akses PROCESS_QUERY_INFORMATION . Untuk informasi selengkapnya, lihat Keamanan Proses dan Hak Akses.
[out] lpWatchInfoEx
Penunjuk ke buffer yang dialokasikan pengguna yang menerima array
PSAPI_WS_WATCH_INFORMATION_EX struktur. Array dihentikan dengan struktur yang anggota FaultingPc-nya adalah NULL.
[in, out] cb
Ukuran buffer lpWatchInfoEx , dalam byte.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil fungsi GetLastError .
Fungsi GetLastError mengembalikan ERROR_INSUFFICIENT_BUFFER jika buffer lpWatchInfoEx tidak cukup besar untuk berisi semua rekaman perubahan set kerja; buffer dikembalikan kosong. Realokasikan blok memori yang lebih besar untuk buffer dan panggil lagi.
Keterangan
Sistem operasi menggunakan satu buffer per proses untuk mempertahankan rekaman perubahan set kerja. Jika lebih dari satu aplikasi (atau beberapa utas dalam aplikasi yang sama) memanggil fungsi ini dengan handel proses yang sama, tidak ada aplikasi yang akan memiliki akuntansi lengkap dari perubahan set kerja karena setiap panggilan mengikat buffer.
Sistem operasi tidak merekam rekaman perubahan baru saat memproses kueri (dan mengosongkan buffer). Fungsi ini mengatur kode kesalahan ke NO_MORE_ENTRIES jika kueri bersamaan diterima saat memproses kueri lain.
Jika buffer menjadi penuh, tidak ada rekaman baru yang ditambahkan ke buffer hingga fungsi ini atau fungsi InitializeProcessForWsWatch dipanggil. Anda harus memanggil GetWsChangesEx dengan frekuensi yang cukup untuk mencegah kemungkinan kehilangan data. Jika rekaman hilang, array dihentikan dengan struktur yang anggota FaultingPc-nya adalah NULL dan anggota FaultingVa-nya diatur ke jumlah rekaman yang hilang.
Dimulai dengan Windows 7 dan Windows Server 2008 R2, Psapi.h menetapkan nomor versi untuk fungsi PSAPI. Nomor versi PSAPI memengaruhi nama yang digunakan untuk memanggil fungsi dan pustaka yang harus dimuat program.
Jika PSAPI_VERSION adalah 2 atau lebih besar, fungsi ini didefinisikan sebagai K32GetWsChangesEx di Psapi.h dan diekspor di Kernel32.lib dan Kernel32.dll. Jika PSAPI_VERSION adalah 1, fungsi ini didefinisikan sebagai GetWsChangesEx di Psapi.h dan diekspor dalam Psapi.lib dan Psapi.dll sebagai pembungkus yang memanggil K32GetWsChangesEx.
Program yang harus berjalan pada versi Windows sebelumnya serta Windows 7 dan versi yang lebih baru harus selalu memanggil fungsi ini sebagai GetWsChangesEx. Untuk memastikan resolusi simbol yang benar, tambahkan Psapi.lib ke makro TARGETLIBS dan kompilasi program dengan -DPSAPI_VERSION=1. Untuk menggunakan penautan dinamis run-time, muat Psapi.dll.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | psapi.h |
Pustaka | Kernel32.lib pada Windows 7 dan Windows Server 2008 R2; Psapi.lib (jika PSAPI_VERSION=1) pada Windows 7 dan Windows Server 2008 R2; Psapi.lib di Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP |
DLL | Kernel32.dll pada Windows 7 dan Windows Server 2008 R2; Psapi.dll (jika PSAPI_VERSION=1) pada Windows 7 dan Windows Server 2008 R2; Psapi.dll pada Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP |