Aracılığıyla paylaş


IRP'leri İşlemede Ek Hatalar

IRP'leri işlerken sürücülerin bazen yaptığı ek hatalar aşağıdadır.

Kayıp veya çift tamamlanmış IRP'ler

IoStartNextPacket gibi G/Ç yöneticisi yordamlarına yönelik eksik çağrılarla birlikte bu sorunlar genellikle hata işleme yollarında oluşur. Sürücü yollarının hızlı gözden geçirmeleri bu tür sorunları bulabilir.

Genel IOCTL ve özel IOCTL yollarını birleştirme

Genel bir kural olarak, genel ve özel IOCTL'ler (veya FSCTL'ler) için sürücüler ayrı yürütme yolları içermelidir. Bir sürücü, denetim koduna bakarak bir IOCTL veya FSCTL isteğinin çekirdek modunda mı yoksa kullanıcı modunda mı kaynaklandığını belirleyemez. Sonuç olarak, aynı yürütme yolunda hem genel hem de özel kodların ele alınması (veya minimal doğrulama yapıldıktan sonra aynı yordamların çağrılması) güvenlik ihlallerine karşı bir sürücü yazılımını açabilir. Özel bir IOCTL veya FSCTL ayrıcalıklıysa, denetim kodlarını bilen ayrıcalıksız kullanıcılar erişim elde edebilir. Bu nedenle, sürücünüz özel IOCTL veya FSCTL isteklerini destekliyorsa, bu tür istekleri desteklemesi gereken tüm genel IOCTL'lerden veya FSCTL'lerden ayrı olarak işlediğinden emin olun.