Aracılığıyla paylaş


Çeşitli kural kümesi (KMDF)

Sürücünüzün cihaz nesnelerinin, anahtarların düzgün işlenmesi için genel bir gereksinim kümesine doğru şekilde uyduğunu ve sürücünün PnP olmayan veya güç ilkesi sahibi olmayan FDO olmayan bir sürücü için uygun olmayan DDI'lere çağrı yapmadığını doğrulamak için bu kuralları kullanın.

Bu bölümde

Konu Açıklama

AccessHardwareKey

AccessHardwareKey kuralı, bir veri yolu sürücüsünün EvtChildListCreateDevice'den bir alt cihazın donanım anahtarına erişmeye çalışmaması gerektiğini belirtir.

AddPdotoStaticChildlist

AddPdotoStaticChildlist kuralı, bir PDO cihazı için, sürücü WdfPdoInitAllocate ve WdfDeviceCreate başarıyla çağrıldıktan sonra WdfFdoAddStaticChild çerçeve işlevinin çağrılması gerektiğini belirtir.

ChildListConfiguration

ChildListConfiguration kuralı, Dinamik Numaralandırmayı destekleyen sürücülerin WdfDeviceCreate işlevini çağırmadan önce WdfFdoInitSetDefaultChildListConfig'i çağırması gerektiğini belirtir.

Cleanup4CtlDeviceRegistered

Cleanup4CtlDeviceRegistered kuralı, tak çalıştır (PnP) sürücüsü denetim cihazı nesnesi için WdfDeviceCreate'ı çağırırsa, sürücünün gerekli olay geri çağırma işlevlerinden birini kaydetmesi gerektiğini belirtir.

NonFDONotPowerPolicyOwnerAPI

NonFDONotPowerPolicyOwnerAPI kuralı, FDO olmayan bir sürücü güç ilkesi sahibi değilse belirli DDI'lerin çağrılaamayacağını belirtir.

NonPnPDrvPowerPolicyOwnerAPI

NonPnPDrvPowerPolicyOwnerAPI kuralı, PnP olmayan sürücülerin güç yönetimiyle ilgili belirli DDI'leri çağıramayacağını belirtir.

UnSafeAllocatePool

UnSafeAllocatePool kuralı, bir sürücünün bellek ayırmak için kullanım dışı DDI kullanmadığını denetleyen önemli bir güvenlik kuralıdır.

Çeşitli kural kümesini seçmek için

  1. Microsoft Visual Studio'da sürücü projenizi (.vcxProj) seçin. Sürücüsü menüsünde tıklayın, Statik Sürücü Doğrulayıcıyı Başlat....

  2. Kurallar sekmesine tıklayın. Kural Kümeleri'nin altında Çeşitli'yi seçin.

    Visual Studio geliştirici komut istemi penceresinden varsayılan kural kümesini seçmek için /check seçeneğiyle Miscellaneous.sdv belirtin. Örneğin:

    msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    Daha fazla bilgi için Sürücülerdeki Hataları Bulmak için Statik Sürücü Doğrulayıcı Kullanma ve Statik Sürücü Doğrulayıcı Komutları (MSBuild)bölümüne bakın.