Aracılığıyla paylaş


DDI uyumluluk denetimi

Cihaz Sürücüsü Arabirimi (DDI) uyumluluk denetimi seçeneği, sürücünün Windows işletim sistemi çekirdeğiyle doğru etkileşimde bulunup bulunmayacağını belirler.

Not Bu seçenek Windows 8'den itibaren kullanılabilir. Windows 8.1'den başlayarak , DDI uyumluluk denetimi (ek) seçeneğini etkinleştirerek ek kuralları test edebilirsiniz.

DDI uyumluluk denetimi

DDI uyumluluk denetimi seçeneği, Sürücünüzün işlev için gerekli IRQL'de işlev çağrıları yaptığını doğrulamak veya spinlock'ları doğru bir şekilde alıp serbest bırakmak için Statik Sürücü Doğrulayıcı'nın kullandığı cihaz sürücüsü arabirimi (DDI) kullanım kurallarını uygular.

Bu seçenek etkin olduğunda ve Sürücü Doğrulayıcı sürücünün DDI uyumluluk kurallarından birini ihlal ettiğini algıladığında, Sürücü Doğrulayıcı hata denetimi 0xC4 (Parametre 1 ile belirli uyumluluk kuralının tanımlayıcısına eşit) oluşturur.

DDI uyumluluk denetimi seçeneğini belirlediğinizde aşağıdaki kurallar eklenir.

GuardedRegions (Windows 8.1'den başlayarak)

IoSetCompletionExCompleteIrp (Windows 8.1'den başlayarak)

IrqlApcLte

IrqlDispatch

IrqlExAllocatePool

IrqlExApcLte1

IrqlExApcLte2

IrqlExApcLte3

IrqlExPassive

IrqlIoApcLte

IrqlIoDispatch

IrqlIoPassive1

IrqlIoPassive2

IrqlIoPassive3

IrqlIoPassive4

IrqlIoPassive5

IrqlKeApcLte1

IrqlKeApcLte2

IrqlKeDispatchLte

IrqlKeReleaseSpinLock

IrqlKeSetEvent

IrqlMmApcLte

IrqlMmDispatch

IrqlObPassive

IrqlPsPassive

IrqlReturn (Windows 8.1'den başlayarak)

IrqlRtlPassive

IrqlZwPassive

NdisOidComplete (Windows 8.1'den başlayarak)

NdisOidDoubleComplete (Windows 8.1'den başlayarak)

PnpRemove (Windows 8.1'den başlayarak)

RequestedPowerIrp (Windows 8.1'den başlayarak)

QueuedSpinLock (Windows 8.1'den başlayarak)

SpinLock (Windows 8.1'den başlayarak)

Bu iki kural şu anda isteğe bağlıdır ancak önerilir.

(İsteğe bağlı) IrqlNtifsApcPassive

(İsteğe bağlı) IrqlIoRtlZwPassive

DDI uyumluluk denetimi seçeneğini etkinleştirme

Sürücü Doğrulayıcı Yöneticisi'ni veya Verifier.exe komut satırını kullanarak bir veya daha fazla sürücü için DDI uyumluluk denetimi özelliğini etkinleştirebilirsiniz. Ayrıntılar için bkz. Sürücü Doğrulayıcı Seçeneklerini Seçme. DDI uyumluluk denetimi seçeneğini etkinleştirmek veya devre dışı bırakmak için bilgisayarı yeniden başlatmanız gerekir. Standart ayarları (/standart) kullandığınızda DDI uyumluluk denetimi özelliği etkinleştirilir.

  • Komut satırında

    Komut satırında DDI uyumluluk denetimi doğrulayıcı /flags 0x00020000 (Bit 17) ile temsil edilir. DDI uyumluluk denetimini etkinleştirmek için 0x00020000 bayrak değerini kullanın veya bayrak değerine 0x00020000 ekleyin. Örneğin:

    verifier /flags 0x00020000 /driver MyDriver.sys
    

    Özellik bir sonraki önyüklemeden sonra etkin olacaktır.

  • Sürücü Doğrulayıcı Yöneticisini Kullanarak

    1. Sürücü Doğrulayıcı Yöneticisi'ni başlatın. Komut İstemi penceresine Doğrulayıcı yazın.
    2. Özel ayarlar oluştur'u (kod geliştiricileri için) seçin ve İleri'ye tıklayın.
    3. Tam liste'den tek tek ayarları seçin.
    4. DDI uyumluluk denetimini seçin (denetleyin).
    5. Bilgisayarı yeniden başlat.

DDI uyumluluk denetimi (ek)

Windows 8.1'den başlayarak DDI uyumluluk denetimi (ek) seçeneği , sürücünün Windows işletim sistemi çekirdeğiyle doğru etkileşimde bulunup bulunmadığına karar vermek için ek kurallar sağlar. DDI uyumluluk denetimi (ek) seçeneğini belirlediğinizde aşağıdaki kurallar test edilir:

DDI uyumluluk denetimi (ek) seçeneğini etkinleştirme

Uyarı

Windows 10 Derleme 19042 ve üzeri sürümlerde bu denetim kullanım dışı bırakıldı

Sürücü Doğrulayıcı Yöneticisi'ni veya Verifier.exe komut satırını kullanarak bir veya daha fazla sürücü için DDI uyumluluk denetimi (ek) kurallarını etkinleştirebilirsiniz. Ayrıntılar için bkz. Sürücü Doğrulayıcı Seçeneklerini Seçme. DDI uyumluluk denetimi (ek) seçeneğini etkinleştirmek veya devre dışı bırakmak için bilgisayarı yeniden başlatmanız gerekir.

  • Komut satırında

    Komut satırında DDI uyumluluk denetimi doğrulayıcı /flags 0x00080000 (Bit 19) ile temsil edilir. DDI uyumluluk denetimini etkinleştirmek için (ek) 0x00080000 bayrak değerini kullanın veya bayrak değerine 0x00080000 ekleyin. Örneğin:

    verifier /flags 0x00080000 /driver MyDriver.sys
    

    Özellik bir sonraki önyüklemeden sonra etkin olacaktır.

  • Sürücü Doğrulayıcı Yöneticisini Kullanarak

    1. Sürücü Doğrulayıcı Yöneticisi'ni başlatmak için Komut İstemi penceresine Doğrulayıcı yazın.
    2. Özel ayarlar oluştur'u (kod geliştiricileri için) seçin ve İleri'ye tıklayın.
    3. Tam liste'den tek tek ayarları seçin.
    4. DDI uyumluluk denetimini (ek) seçin (denetleyin).
    5. Bilgisayarı yeniden başlat.

DDI uyumluluk denetimi (ek IRQL) seçeneğini etkinleştirme

Verifier.exe komut satırını kullanarak bir veya daha fazla sürücü için DDI Uyumluluğu ek IRQL kurallarını etkinleştirebilirsiniz. Ayrıntılar için bkz. Sürücü Doğrulayıcı Seçeneklerini Seçme. DDI Uyumluluğu ek IRQL kurallarını etkinleştirmek veya devre dışı bırakmak için bilgisayarı yeniden başlatmanız gerekir.

Komut satırında, DDI Uyumluluğu ek IRQL denetimi 35 kural sınıfı değeriyle temsil edilir. Örneğin:

verifier /ruleclasses 35 /driver MyDriver.sys

VEYA

verifier /rc 35 /driver MyDriver.sys

Ek IRQL kural kümesi aşağıdaki iki kuraldan oluşur.

(İsteğe bağlı) IrqlNtifsApcPassive

(İsteğe bağlı) IrqlIoRtlZwPassive