Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Daha alt düzey sürücülerin belirli istekleri nasıl gerçekleştirdiğini IRP'ye özgü bir şekilde izleyen üst düzey sürücüler, bir veya daha fazla IoCompletion yordamına sahip olabilir. Daha düşük sürücülere istek göndermek için IRP'leri ayıran üst düzey sürücülerin bir IoCompletion yordamı olmalıdır.
Alt düzey sürücülerin aktarım isteklerini zaman uyumsuz olarak işlemesi gerektiğinden, en üst düzey veya ara sürücünün DispatchRead veya DispatchWrite yordamının IRP için bir IoCompletion yordamı ayarlama olasılığı yüksektir.
Bir sürücü yığınındaki en düşük düzey sürücü IoCompletion yordamlarını kaydedemez.
Sürücüler genellikle senkronize G/Ç işlemleriyle ilişkili IRP'ler için IoCompletion rutinlerini kaydetmez. Örneğin, daha üst düzey bir sürücünün DispatchDeviceControl yordamı IoBuildDeviceIoControlRequest kullanarak bir IRP ayırabilir. Bu durumda, cihaz denetimi istekleri genellikle senkronize olarak işlendiği için, dağıtım yordamı genellikle bir IoCompletion yordamını kaydetmez. Bunun yerine, sürücü bir olay nesnesi ayırıp başlatabilir ve DispatchDeviceControl yordamı, sürücü tarafından ayrılan IRP'ler gönderildiğinde bir olayın başlatılmasını bekleyebilir. Genellikle, daha üst düzeydeki bir sürücü, IoBuildSynchronousFsdRequest ile ayrılmış bir IRP için, aynı nedenle IoCompletion yordamını kaydetmez.
Bu bölüm aşağıdaki konuları içerir: