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.
G/Ç yöneticisi, kurulan ve yüklenen her sürücü için bir sürücü nesnesi oluşturur. Sürücü nesneleri DRIVER_OBJECT yapıları kullanılarak tanımlanır.
Girdi/Çıktı yöneticisi, bir sürücünün DriverEntry rutinini çağırdığında, sürücünün sürücü nesnesinin adresini sağlar. Sürücü nesnesi, bir sürücünün standart yordamlarının çoğuna giriş noktaları için depolama alanı içerir. Sürücü bu giriş noktalarını doldurmaktan sorumludur.
Aşağıdaki şekilde, en düşük ve üst düzey sürücülerin sahip olabileceği veya içermesi gereken sistem tanımlı standart yordamlar kümesiyle bir sürücü nesnesi gösterilmektedir.
Adının yanında yıldız işareti olan her standart yordam giriş olarak bir G/Ç istek paketi (IRP) alır. Bu standart yordamların her biri G/Ç isteği için hedef cihaz nesnesine yönelik bir işaretçi de alır.
G/Ç yöneticisi sürücü nesne türünü tanımlar ve sürücülerin yüklenen görüntüleri hakkındaki bilgileri kaydetmek ve izlemek için sürücü nesnelerini kullanır. Sürücü nesnesindeki dağıtım giriş noktalarının (DDDispatchXxxDDDispatchYyy) IRP'lerin G/Ç yığını konumlarında geçirilen ana işlev kodlarına (IRP_MJ_XXX) karşılık geldiğini unutmayın.
G/Ç yöneticisi, her IRP'yi (Giriş/Çıkış İstek Paketi) önce sürücü tarafından sağlanan yönlendirme rutine yönlendirir. En alt düzey bir sürücünün dağıtım yordamı, herhangi bir geçerli bağımsız değişken içeren her IRP'yi sürücünün StartIo yordamına kuyruğa almak (veya aktarmak) için genellikle bir G/Ç destek yordamını (IoStartPacket) çağırır. StartIo yordamı belirli bir cihazda istenen G/Ç işlemini başlatır. Yüksek seviyeli sürücülerin genellikle StartIo rutinleri yoktur, ancak sahip olabilirler.