Aracılığıyla paylaş


APC türleri

Zaman uyumsuz yordam çağrısı (APC), zaman uyumsuz olarak yürütülen bir işlevdir. APC'ler ertelenen yordam çağrılarına (DPC) benzer, ancak DPC'lerin aksine, APC'ler belirli bir iş parçacığı bağlamında yürütülür. Sürücüler (dosya sistemleri ve dosya sistemi filtre sürücüleri dışında) doğrudan APC'leri kullanmaz, ancak işletim sisteminin diğer bölümleri kullanır, bu nedenle APC'lerin nasıl çalıştığını bilmeniz gerekir.

Windows işletim sistemi dört tür APC kullanır:

  • Özel kullanıcı modu APC'leri kesinlikle kullanıcı modunda çalışır ve hedef konu uyarılabilen bir bekleme durumunda olmasa bile her zaman yürütülür. Özel kullanıcı modu API'leri hakkında ek bilgi için bkz. QueueUserAPC2.

  • Düzenli kullanıcı modu APC'ler kesinlikle kullanıcı modunda ve yalnızca hedef iş parçacığı uyarılabilen bir bekleme durumundaysa çalışır. İşletim sistemi, çakışan G/Ç ve QueueUserApc Win32 yordamı gibi mekanizmaları uygulamak için normal kullanıcı APC'lerini kullanır.

  • Normal çekirdek APC'leri IRQL = PASSIVE_LEVEL çekirdek modunda çalışır. Normal çekirdek APC, kullanıcı APC'leri de dahil olmak üzere tüm kullanıcı modu kodlarına öncelik alır. Normal çekirdek APC'ler genellikle dosya sistemleri ve dosya sistemi filtre sürücüleri tarafından kullanılır.

  • Özel çekirdek APC'leri, çekirdek modunda IRQL = APC_LEVEL seviyesinde çalışır. Özel bir çekirdek APC, hem kullanıcı APC'leri hem de normal çekirdek APC'ler dahil olmak üzere IRQL = PASSIVE_LEVEL'de yürütülen kullanıcı modu kodunu ve çekirdek modu kodunu öncelikli hale getirir. İşletim sistemi, G/Ç isteğinin tamamlanması gibi işlemleri yönetmek için özel çekirdek APC'lerini kullanır.

En düşükten en yüksek önceliğe kadar IRQL'lerin listesi için bkz. Donanım Önceliklerini Yönetme.