Jenis APC
Panggilan prosedur asinkron (APC) adalah fungsi yang dijalankan secara asinkron. APC mirip dengan panggilan prosedur yang ditangguhkan (DPC), tetapi tidak seperti DPC, APC dijalankan dalam konteks utas tertentu. Driver (selain sistem file dan driver filter sistem file) tidak menggunakan APC secara langsung, tetapi bagian lain dari sistem operasi melakukannya, jadi Anda perlu menyadari cara kerja APC.
Sistem operasi Windows menggunakan empat jenis APC:
APC mode pengguna khusus berjalan secara ketat dalam mode pengguna dan selalu dijalankan, bahkan jika utas target tidak dalam status tunggu yang dapat diperingatkan. Untuk informasi tambahan tentang APC mode pengguna khusus, lihat QueueUserAPC2.
APC mode pengguna reguler berjalan secara ketat dalam mode pengguna dan hanya ketika utas target dalam status tunggu yang dapat diperingatkan. Sistem operasi menggunakan APC pengguna reguler untuk menerapkan mekanisme seperti I/O yang tumpang tindih dan rutinitas QueueUserApc Win32.
APC kernel normal berjalan dalam mode kernel di IRQL = PASSIVE_LEVEL. APC kernel normal mendahului semua kode mode pengguna, termasuk APC pengguna. APC kernel normal umumnya digunakan oleh sistem file dan driver filter sistem file.
APC kernel khusus berjalan dalam mode kernel di IRQL = APC_LEVEL. APC kernel khusus mendahului kode mode pengguna dan kode mode kernel yang dijalankan di IRQL = PASSIVE_LEVEL, termasuk APC pengguna dan APC kernel normal. Sistem operasi menggunakan APC kernel khusus untuk menangani operasi seperti penyelesaian permintaan I/O.
Untuk daftar IRQL dari prioritas terendah hingga tertinggi, lihat Mengelola Prioritas Perangkat Keras.