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.
Microsoft Windows NT tabanlı işletim sistemi nesne tabanlıdır. Yöneticideki çeşitli bileşenler bir veya daha fazla nesne türü tanımlar. Her bileşen, nesne türlerinin örneklerini işleyen çekirdek modunun destek yordamlarını dışarı aktarır. Hiçbir bileşen başka bir bileşenin nesnelerine doğrudan erişemez. Başka bir bileşenin nesnelerini kullanmak için, bir bileşenin dışarı aktarılan destek yordamlarını çağırması gerekir.
Bu tasarım, işletim sisteminin hem taşınabilir hem de esnek olmasını sağlar. Örneğin, işletim sisteminin gelecekteki bir sürümünün aynı nesne türlerini tanımlayan ancak tamamen farklı iç yapılara sahip yeniden kodlanmış bir çekirdek bileşeni içermesi mümkündür. Çekirdeğin bu varsayımsal yeniden kodlanmış sürümü, mevcut kümeyle aynı adlara ve parametrelere sahip bir dizi destek yordamını dışarı aktarırsa, iç değişikliklerin mevcut sistemdeki diğer yönetici bileşenlerin taşınabilirliği üzerinde hiçbir etkisi olmaz.
Benzer şekilde, sürücülerin taşınabilir ve yapılandırılabilir kalması için yalnızca WDK'de açıklanan destek yordamlarını ve diğer arabirimleri kullanarak işletim sistemiyle ve birbirleriyle iletişim kurması gerekir.
İşletim sistemi gibi sürücüler de nesne tabanlıdır. Örneğin:
Dosya nesneleri , kullanıcı modu uygulamasının bir cihazla bağlantısını temsil eder.
Cihaz nesneleri her sürücünün mantıksal, sanal veya fiziksel cihazlarını temsil eder.
Sürücü nesneleri her sürücünün yük görüntüsünü temsil eder.
G/Ç yöneticisi dosya nesneleri, cihaz nesneleri ve sürücü nesneleri için yapıyı ve arabirimleri tanımlar.
Diğer tüm yönetici bileşenleri gibi sürücüler de G/Ç yöneticisinin ve diğer sistem bileşenlerinin dışarı aktardığı çekirdek modu destek yordamlarını çağırarak nesneleri kullanır. Çekirdek modu destek yordamları genellikle her yordamın düzenlediği belirli nesneyi ve her yordamın bu nesne üzerinde gerçekleştirdiği işlemi tanımlayan adlara sahiptir. Bu destek yordamı adları aşağıdaki biçime sahiptir:
PrefixOperationObject
nerede
Önek Destek yordamını dışarı aktaran çekirdek modu bileşenini ve genellikle nesne türünü tanımlayan bileşeni tanımlar. Çoğu ön ekin iki harfi vardır.
İşlem Nesneye ne yapıldığını açıklar.
Nesne Nesne türünü tanımlar.
Örneğin, G/Ç yöneticisinin IoCreateDevice yordamı, bir fiziksel, mantıksal veya sanal cihazı G/Ç isteklerinin hedefi olarak temsil eden bir cihaz nesnesi oluşturur.
Bir sistem bileşeni, başka bir bileşenin destek yordamlarını çağıran yordamları dışarı aktarabilir. Bu, bir sürücünün yapması gereken çağrı sayısını azaltabilir. G/Ç yöneticisi, özellikle sürücüleri geliştirmeyi kolaylaştıran bazı yordamları dışarı aktarır. Örneğin, en düşük düzey sürücülerin ISR'lerini kaydetmek için çağırdığı IoConnectInterruptEx, kesme nesneleri için çekirdek destek yordamlarını çağırır.
Nesne Opaklığı
Bazı sistem tanımlı nesneler opaktır: yalnızca tanımlayan sistem bileşeni böyle bir nesnenin iç yapısının farkındadır ve bir nesnenin içerdiği tüm verilere doğrudan erişebilir. Opak bir nesneyi tanımlayan sistem bileşeni, sürücülerin ve diğer çekirdek modu bileşenlerinin bu nesneyi işlemek için çağırabileceği yordamları destekler. Sürücüler hiçbir zaman opak nesne yapılara doğrudan erişmez.
Not Sürücü taşınabilirliğini korumak için sürücülerin sistem tarafından sağlanan destek yordamlarını kullanarak sistem tanımlı nesneleri işlemesi gerekir. Tanımlama sistemi bileşeni, nesne türlerinin iç yapısını istediği zaman değiştirebilir.