Fungsi GetPriorityClass (processthreadsapi.h)
Mengambil kelas prioritas untuk proses yang ditentukan. Nilai ini, bersama dengan nilai prioritas setiap utas proses, menentukan tingkat prioritas dasar setiap utas.
Sintaks
DWORD GetPriorityClass(
[in] HANDLE hProcess
);
Parameter
[in] hProcess
Handel untuk proses.
Handel harus memiliki hak akses PROCESS_QUERY_INFORMATION atau PROCESS_QUERY_LIMITED_INFORMATION . Untuk informasi selengkapnya, lihat Keamanan Proses dan Hak Akses.
Windows Server 2003 dan Windows XP: Handel harus memiliki hak akses PROCESS_QUERY_INFORMATION .
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah kelas prioritas dari proses yang ditentukan.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Kelas prioritas proses adalah salah satu nilai berikut.
Mengembalikan kode/nilai | Deskripsi |
---|---|
|
Proses yang memiliki prioritas di atas NORMAL_PRIORITY_CLASS tetapi di bawah HIGH_PRIORITY_CLASS. |
|
Proses yang memiliki prioritas di atas IDLE_PRIORITY_CLASS tetapi di bawah NORMAL_PRIORITY_CLASS. |
|
Proses yang melakukan tugas penting waktu yang harus segera dijalankan agar berjalan dengan benar. Utas proses kelas prioritas tinggi mendahului utas proses kelas prioritas normal atau menganggur. Contohnya adalah Daftar Tugas, yang harus merespons dengan cepat ketika dipanggil oleh pengguna, terlepas dari beban pada sistem operasi. Gunakan perawatan ekstrem saat menggunakan kelas prioritas tinggi, karena aplikasi terikat CPU kelas prioritas tinggi dapat menggunakan hampir semua siklus yang tersedia. |
|
Proses yang utasnya hanya berjalan ketika sistem diam dan didahulukan oleh utas proses apa pun yang berjalan di kelas prioritas yang lebih tinggi. Contohnya adalah pengaman layar. Kelas prioritas menganggur diwariskan oleh proses anak. |
|
Proses tanpa kebutuhan penjadwalan khusus. |
|
Proses yang memiliki prioritas tertinggi. Utas proses kelas prioritas real-time mendahului utas semua proses lainnya, termasuk proses sistem operasi yang melakukan tugas penting. Misalnya, proses real-time yang dijalankan selama lebih dari interval yang sangat singkat dapat menyebabkan cache disk tidak menyiram atau menyebabkan mouse tidak responsif. |
Keterangan
Setiap utas memiliki tingkat prioritas dasar yang ditentukan oleh nilai prioritas utas dan kelas prioritas prosesnya. Sistem operasi menggunakan tingkat prioritas dasar dari semua utas yang dapat dieksekusi untuk menentukan utas mana yang mendapatkan iringan waktu CPU berikutnya. Utas dijadwalkan dengan cara round-robin pada setiap tingkat prioritas, dan hanya ketika tidak ada utas yang dapat dieksekusi pada tingkat yang lebih tinggi akan menjadwalkan utas pada tingkat yang lebih rendah yang berlangsung.
Untuk tabel yang memperlihatkan tingkat prioritas dasar untuk setiap kombinasi kelas prioritas dan nilai prioritas utas, lihat Prioritas Penjadwalan.
Kelas prioritas dipertahankan oleh eksekutif, sehingga semua proses memiliki kelas prioritas yang dapat dikueri.
Contoh
Misalnya, lihat Mengambil Rekam Jepret dan Menampilkan Proses.
Persyaratan
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | processthreadsapi.h (termasuk Windows.h pada Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |