Aracılığıyla paylaş


Sürücü oluşturmak için Visual Studio veya MSBuild kullanma

Bu konu başlığında, Visual Studio geliştirme ortamını kullanarak veya Visual Studio Komut İstemi penceresini ve Microsoft Build Engine'i (MSBuild) kullanarak komut satırından sürücü oluşturma yönergeleri sağlanır.

Windows sürücülerini geliştirmek için Visual Studio'da SDK ve WDK'yi yüklemeniz ve sürücü ayarlarını yapılandırmanız gerekir. Bilgisayarınızdaki SDK ve WDK sürümlerinin eşleştiğinden emin olun.

Visual Studio kullanarak sürücü oluşturma

Visual Studio'da herhangi bir proje veya çözümle aynı şekilde bir sürücü oluşturursunuz. Sürücü şablonu kullanarak yeni bir sürücü projesi oluşturduğunuzda, şablon varsayılan (etkin) proje yapılandırmasını ve varsayılan (etkin) çözüm derleme yapılandırmasını tanımlar.

Derleme yapılandırmalarını yönetme ve düzenleme hakkında bilgi için bkz. Visual Studio'da derleme.

KMDF sürücü ayarları

VS 2022'de sürücü ayarlarını yapılandırmak için sürücü projesine sağ tıklayın, özellikleri seçin ve Özellikler ->Yapılandırma Özellikleri ->Sürücü Ayarları'na gidin.

Visual Studio KMDF Sürücü Ayarları.

Hedef İşletim Sistemi Sürümü

Hedef İşletim Sistemi Sürümü, sürücünün geliştirilmekte olduğu Windows sürümünü ifade eder. Hedef işletim sistemi sürümünü sürücünüzün desteklediği en düşük sürüme ayarlayın. Örneğin, Windows 10 sürücüsünün Windows 10 ve sonraki tüm sürümleri desteklemesi gerekir.

Sürücü paketinizin birden çok Windows sürümünü destekleyecek şekilde düzgün yazıldığından emin olmak için bu konulardaki yönergeleri izleyin.

Hedef Platform

Windows hedef platformu için 3 sınıflandırma vardır: Evrensel Sürücüler, Masaüstü Sürücüleri ve Windows Sürücüleri.

  1. Evrensel Sürücüler zorunludur:

  2. Masaüstü Sürücüleri şunları yapmalıdır:

    Masaüstü Sürücüsü ölçütlerini karşılayan sürücüler Windows Logo Sertifikalıdır ve Windows Update programına eklenebilir.

  3. Windows Sürücüleri şunları yapmalıdır:

    • Tüm Masaüstü Sürücüleri gereksinimlerini karşılayın.
    • Sürücü Paketi Yalıtımı gereksinimleriyle tamamen uyumlu olun.
    • Geçmek InfVerif /w
    • Windows Sürücüleri en kısıtlayıcı hedef platform seçimidir ve tüm güvenilirlik ve hizmet verilebilirlik gereksinimlerini karşılar.

Aşağıdaki tabloda sürücü sınıflandırmaları özetlemektedir.

Özellik Evrensel Sürücüler Masaüstü Sürücüleri Windows Sürücüleri
Infverif Anahtarı InfVerif /u InfVerif /h InfVerif /w
Geçerli WHCP Gereksinimi Hayı Evet Hayı
Windows işletim sisteminin tüm değişkenlerini destekler Hayı Hayı Evet
X64/ARM64 Desteği Evet Evet Evet
APIVALIDATOR Uyumluluğu Gerekli Hayı Hayı Evet
Masaüstü İşletim Sistemi Desteği (Hedef İşletim Sistemi Sürümü) Evet Evet Evet
GitHub Sürücü Örnekleri Desteği Evet Evet Hayı

Sürücü yapılandırması

Sürücüleri oluştururken, Platform Mimarisi ve NT_TARGET_VERSION WDK veya EWDK ile Visual Studio'da düzgün ayarlandığından emin olun. Geliştirme için varsayılan Çözüm derleme yapılandırması Hata Ayıklama ve Win64'tür.

  1. Çözüm Gezgini'nde çözümü seçip basılı tutun (veya sağ tıklayın) ve Configuration Manager'ı seçin.
  2. Configuration Manager'dan, ilgilendiğiniz derleme türüne karşılık gelen Etkin çözüm yapılandırmasını (örneğin, Hata Ayıkla veya Yayın) ve Etkin çözüm platformunu (örneğin, Win64) seçin.
  3. Projeyi seçip basılı tutun (veya sağ tıklayın) ve Özellikler'i seçin. Sürücü Ayarları ->Genel'e gidin ve Hedef İşletim Sistemi Sürümü ile Hedef Platform'u ayarlayın.
  4. Sürücü veya sürücü paketinizin proje özelliklerini yapılandırın. Dağıtım, sürücü imzalama veya diğer görevlerin özelliklerini ayarlayabilirsiniz. Daha fazla bilgi için bkz. Sürücü ve sürücü paketiniz için proje özelliklerini yapılandırma.

Sürücü oluşturmak için

  1. Visual Studio'da sürücü projesini veya çözümünü açın.
  2. Derleme menüsünden Derleme Çözümü (Ctrl+Shift+B) öğesini seçin.
  3. Derleme çıkış penceresinde derleme zamanı hatalarını görüntüleyin.

Komut Satırını (MSBuild) Kullanarak Sürücü Oluşturma

Visual Studio Komut İstemi penceresini ve Microsoft Build Engine'i (MSBuild) kullanarak komut satırından bir sürücü oluşturabilirsiniz

Visual Studio Komut İstemi penceresini kullanarak sürücü oluşturmak için

  1. VS2022 için Geliştirici Komut İstemi penceresi açın.

    Bu pencerede, proje (.vcxproj) veya çözümler (.sln) dosyasını belirterek herhangi bir Visual Studio projesi oluşturmak için MSBuild.exe kullanabilirsiniz.

  2. Proje dizinine gidin ve hedefiniz için MSBuild komutunu girin.

    Örneğin, varsayılan Platform ve Yapılandırmayı kullanarak MyDriver.vcxproj adlı bir Visual Studio sürücü projesinin temiz bir derlemesini gerçekleştirmek için proje dizinine gidin ve aşağıdaki MSBuild komutunu girin:

    msbuild /t:clean /t:build .\MyDriver.vcxproj
    

    Belirli bir yapılandırmayı ve platformu belirtmek için şunu kullanın:

    msbuild /t:clean /t:build ProjectFile /p:Configuration=<Debug|Release> /p:Platform=architecture /p:TargetPlatformVersion=a.b.c.d /p:TargetVersion=OS    
    

    Aşağıdaki komut , "Debug" yapılandırması, "Win32" platformu ve Windows 10 için bir sürücü oluşturur.

    msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion="Windows10" /p:TargetPlatformVersion="10.0.10010.0"
    

    TargetPlatformVersion ayarı isteğe bağlıdır ve derleme için kullanılacak kiti versiyonunu belirtir. Varsayılan ayar en son kit sürümüdür.

Sürücü ve sürücü paketiniz için proje özelliklerini yapılandırma

Sürücü ve sürücü paketinizin seçeneklerini yapılandırmak ve ayarlamak için özellik sayfalarını kullanın. Sürücünüzü, çözümünüzü oluştururken otomatik olarak imzalı olacak şekilde veya bir uzaktan test bilgisayarına otomatik olarak dağıtılacak şekilde yapılandırmayı seçebilirsiniz.

Tek bir sürücü veya sürücü paketinin tamamı için özellikleri ayarlayabilirsiniz. Aşağıdaki bölümde, sürücüler ve sürücü paketleri için özel olarak yapılandırabileceğiniz bazı kullanılabilir özellikler gösterilmektedir.

Sürücü Projesi Özellikleri

Sürücü Paketi Özellikleri

WDK komut satırı aracı proje tümleştirmesi

WDK, derleme işlemine yaygın olarak dahil edilen Stampinf ve WPP Önişlemcisi (WPP İzleme) gibi bir dizi komut satırı aracı sağlar. Bu araçlar Visual Studio ile dağıtılmaz. Bu araçları Visual Studio derleme ortamıyla birleştirmek için, MSBuild için WDK görevleri olarak paketlenmiştir. Sürücü şablonlarından birini kullanıyorsanız veya dönüştürdüğünüz bir sürücünüz varsa, projeniz için bu özellik sayfaları zaten var olabilir. Aksi takdirde, projenize veya çözüme (örneğin, ileti derleyicisi için .mc veya .man dosyaları) ilgili dosya türlerini eklediğinizde özellik sayfaları projenize otomatik olarak eklenir. Daha fazla bilgi için bkz. WDK ve Visual Studio derleme ortamı.

Sürücü oluşturma için sorun giderme ipucu

Derleme sorunlarını gidermeye yardımcı olmak için Visual Studio'da derleme çıkışının ayrıntı düzeyini artırabilirsiniz:

  1. Araçlar ->Seçenekler'i seçin.
  2. Proje ve Çözümler klasörünü seçin veOluştur ve Çalıştır'ı seçin.
  3. MSBuild projesi derleme çıktısı ayrıntı düzeyi ve MSBuild projesi derleme günlük dosyası ayrıntı düzeyi seçeneklerini değiştirin. Varsayılan olarak, bunlar En Az olarak ayarlanır.

Windows 8 sürücülerini güncelleştirme

WDK 8 veya Windows Driver Kit (WDK) 8.1 ile oluşturduğunuz projeleri ve çözümleri Windows Driver Kit (WDK) 10 ve Visual Studio ile çalışacak şekilde dönüştürebilirsiniz. Projeleri veya çözümleri açmadan önce ProjectUpgradeTool'u çalıştırın. ProjectUpgradeTool, WDK 10 kullanılarak oluşturulabilmeleri için projeleri ve çözümleri dönüştürür.

Windows Sürücü Seti (WDK) 8'den başlayarak MSBuild, Windows Derleme Yardımcı Programı'nın (Build.exe) yerini aldı. WDK, Visual Studio projeleri oluşturmak için kullandığınız derleyici ve derleme araçlarını kullanır. WDK'nin önceki sürümleriyle oluşturulmuş sürücü projelerinin Visual Studio ortamında çalışacak şekilde dönüştürülmesi gerekir. Komut satırından bir dönüştürme yardımcı programı çalıştırabilir veya mevcut kaynaklardan yeni bir Visual Studio projesi oluşturarak var olan bir sürücüyü dönüştürebilirsiniz. Daha fazla bilgi için bkz. Mevcut Kaynak Dosyalardan Sürücü Oluşturma , WDK ve Visual Studio derleme ortamı.