Windows'taki kişisel bilgisayarın tüm cihazlarıyla birleşik çalışma ve işletim sisteminin diğer bazı işlevleri bir dizi sürücü tarafından sağlanır. Sürücüler yazabilmek için, iyi bir programlama anlayışına, çekirdeğin ilkelerine ve çeşitli Windows alt sistemlerine sahip olmanız gerekir.
Gerekli
Windows Sürücü Geliştirme Seti
Talimatlar
Aşama 1
Windows Driver Development Kit (DDK) dağıtımını microsoft.com'dan (MSDN aboneleri için mevcuttur) indirin ve bilgisayarınıza kurun. Bu paket, sürücüleri (derleyici, bağlayıcı, başlık dosyaları, kitaplıklar) geliştirmek ve oluşturmak için gerekli tüm araçları ve kapsamlı belgeleri içerir.
Adım 2
Windows için sürücü yazmaya ilişkin mevcut tüm belgeleri ayrıntılı olarak inceleyin. DDK ve ilgili MSDN konusundaki (msdn.microsoft.com) başvuru bilgilerini kullanın. Windows Sürücü Modelinin (WDM) tüm yönlerini tam olarak anlamanız ve temel mimari kavramları kavramanız gerekir. Kullanıcı modu ve çekirdek modu sürücüleri, aygıt sürücüleri ve dosya sistemi sürücüleri arasındaki farkları açıkça anlamalısınız. Farklı sürücü sınıflarının özelliklerini, türlerini (veri yolu sürücüleri, filtreler, işlevsel sürücüler) ve alt türlerini (ekran sürücüleri, modemler, ağ aygıtları, paralel ve seri bağlantı noktaları, depolama aygıtları) bilmeniz gerekir. Yeniden Kullanılabilir IRP'lerle Paket Güdümlü G/Ç, bellek yönetimi, istisna işleme ve senkronizasyon nesnelerinin doğru uygulanması ilkelerine özellikle dikkat edin.
Aşama 3
Geliştirilmekte olan sürücünün işlevselliğini açıkça tanımlayın. Buna dayanarak, hangi türe ve sınıfa ait olduğunu belirleyin.
4. Adım
Bir programlama dili seçin. Geleneksel olarak, çekirdek modu sürücüleri C'de uygulanır. Kullanıcı modu sürücüleri genellikle C ++ ile geliştirilir. Bu kuralların birkaç istisnası vardır. Örneğin, ses ve video akışları için istemci mini sürücüleri, çekirdek modu miniportları için WDM ses sürücüleri, WIA sürücüleri ve bazen ekran sürücüleri C ++ ile yazılmıştır.
Adım 5
Sürücü saplamasını uygulayan bir proje oluşturun. DDK dizinini örneklerle keşfedin. Doğru sürücü demo projesini bulun. Uygun bir örnek bulamazsanız, gerekli kaynak kodunu içeren dosyaları kendiniz oluşturun ve komut dosyaları oluşturun. Örneğin, bir çekirdek modu sürücüsü geliştirirken, başlatma kodunun yanı sıra bazı standart rutinleri (AddDevice, StartIo, vb.) içeren DriverEntry işlevini uygulamanız gerekir.
6. Adım
Sürücü işlevselliğini uygulayın. Önceki adımda oluşturulan işlevlere kod ekleyin. G/Ç isteklerini vb. işlemek için mantık ekleyin.