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.
Sürücü Doğrulayıcı'nın SCSI Doğrulama özelliği, SCSI miniport sürücüsü ile bağlantı noktası sürücüsü arasındaki etkileşimi izler. Miniport sürücüsü bir yordamı kötüye kullanıyorsa, bağlantı noktası sürücüsünden gelen bir isteğe yanlış yanıt veriyorsa veya bir isteğe yanıt vermek için aşırı zaman alıyorsa, bir hata denetimi yapılır.
Bu Sürücü Doğrulayıcı seçeneği yalnızca Windows XP ve sonraki sürümlerde kullanılabilir.
SCSI Doğrulaması tarafından Algılanan İhlaller
SCSI Doğrulama seçeneği, SCSI yordamlarının çeşitli kötüye kullanımlarını algılayabilir. Bu denetimlerden belirlilerini ayrı ayrı devre dışı bırakmak da mümkündür.
Bir SCSI miniport sürücüsü aşağıdaki ihlallerden birini işlediğinde, Sürücü Doğrulayıcı 0xF1 hata denetimi yapar.
Miniport sürücüsü ScsiPortInitialize'a hatalı bir argüman verir.
Miniport sürücüsü ScsiPortStallExecution'ı çağırır ve 0,1 saniyeden uzun bir gecikme belirterek işlemciyi aşırı bir süre boyunca geciktiriyor.
Bağlantı noktası sürücüsü, bir miniport sürücüsü rutinini çağırır ve miniport sürücüsü bunu yürütmek için 0,5 saniyeden uzun süre alır. ( FindAdapter yordamı muaftır ve HwInitialize yordamına 5 saniye izin verilir.)
Miniport sürücüsü bir isteği birden çok kez tamamlar.
Miniport sürücüsü, geçersiz bir SRB durumu ile bir prosedürü tamamlar.
Miniport sürücüsü NextLuRequest istemek için ScsiPortNotification'ı çağırır, ancak etiketlenmemiş bir istek hala etkindir.
Miniport sürücüsü geçersiz bir sanal adresi ScsiPortGetPhysicalAddress'e geçirir. (Bu genellikle sağlanan adresin ortak arabellek alanıyla eşlenmediği anlamına gelir.)
Bus sıfırlama bekleme süresi sona erer, ancak miniport sürücüsünün bekleyen istekleri vardır.
Hata denetimi parametrelerinin tam listesi için bkz . Hata Denetimi 0xF1 (SCSI_VERIFIER_DETECTED_VIOLATION).
Bu ihlallere ek olarak, SCSI Doğrulaması hatalı kullanım için miniport sürücüsünün bellek erişimini de izler. Miniport sürücüleri tarafından yapılan iki yaygın bellek ihlali, bir istek tamamlandıktan sonra bir SRB uzantısına ve miniport sürücüsü MapBuffer belirtmediğinde bir SRB'nin DataBuffer'sine erişiyor.
Bu türdeki bellek ihlalleri genellikle Hata Denetimi 0xD1 (DRIVER_IRQL_NOT_LESS_OR_EQUAL) verilmesine neden olur.
Bu Seçeneği Etkinleştir
SCSI Doğrulama seçeneğini etkinleştirme yordamı, diğer Sürücü Doğrulayıcı seçeneklerini etkinleştirme yordamlarından farklıdır.
SCSI Doğrulamasını etkinleştirmek için
Sürücü Doğrulayıcı Yöneticisi'ni veya Verifier.exe komut satırını kullanarak miniport sürücüsünün doğrulamasını başlatın. SCSI Doğrulaması seçenek olarak kullanılamayacağından, en az bir Sürücü Doğrulayıcı seçeneğini belirlemeniz gerekir. Ayrıntılar için bkz . Sürücü Doğrulayıcı SeçenekleriniSeçme ve Doğrulanacak Sürücüleri Seçme .
regedit.exekullanarak kayıt defterini açın. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ScsiPort anahtarına Doğrulayıcı adlı bir alt anahtar ekleyin. Bu anahtarın içine VerifyLevel adlı bir REG_DWORD girdisi ekleyin. Bu girdiye atanan değer, hangi SCSI Doğrulama testlerinin etkin olacağını belirler. 0x1 değeri en yüksek doğrulamayı verir.
Bilgisayarı yeniden başlatın.
VerifyLevel değeri yoksa veya 0xFFFFFFFF eşitse, SCSI Doğrulaması devre dışı bırakılır.
VerifyLevel değerindeki tek tek bitler, tam olarak hangi testlerin gerçekleştirileceğini denetlemek için kullanılabilir. Bit sıfır (0x1) belirli testleri etkinleştirir; bit 28, 29, 30 ve 31 bazı testleri devre dışı bırakır. Bu nedenle, 0x00000001 değeri kullanılarak maksimum doğrulama elde edilebilir.
Her bitin etkileri aşağıdaki gibidir:
| Parça | Değer | Etki |
|---|---|---|
0 |
0x1 |
Sürücü Doğrulayıcı, miniport sürücüsünün bellek erişimini izler ve bellek arabelleklerinin yanlış kullanımını denetler. |
28 |
0x10000000 |
HwAdapterControl yordamının tamamlanması 0,5 saniyeden uzun sürdüğünde Sürücü Doğrulayıcı bir hata denetimi vermez. |
29 |
0x20000000 |
Sürücü Doğrulayıcı, sıfırlama bekletme süresi sona erdiğinde ve mantıksal birimde hala bekleyen istekler bulunduğunda bir hata denetimi vermez. |
30 |
0x40000000 |
Etiketlenmemiş bir istek hala etkinken miniport sürücüsü NextLuRequest ile ScsiPortNotification'ı çağırdığında Sürücü Doğrulayıcı bir hata denetimi vermez. |
31 |
0x80000000 |
HwInitialize yordamının tamamlanması 5 saniyeden uzun sürdüğünde Sürücü Doğrulayıcı bir hata denetimi vermez. |
Çoğu durumda önerilen ayar 0xD0000001. Bu, HwAdapterControl üzerindeki süre sınırı, HwInitialize'da süre sınırı ve mantıksal birime yönelik birden çok isteğin yasaklanması dışında tüm SCSI Doğrulayıcı testlerini etkinleştirir. Bu üç test genellikle çok sıkıdır.
Bir çekirdek hata ayıklayıcısı ekliyse, önyükleme döngüsünden sonra SCSI Doğrulama düzeyini değiştirmek mümkündür. Bunu yapmak için hata ayıklayıcı komutunu kullanın:
kd> ed scsiport!SpVrfyLevel Level
Bu komut Düzey için yeni bir değer ayarlamanıza olanak tanır. Bu yöntemi kullanarak, yüksek bitleri (0x10000000 ile 0x8000000 arasında) istediğiniz zaman değiştirebilirsiniz. Ancak, düşük biti (0x1) değiştirmek istiyorsanız, önyükleme işlemi sırasında (çekirdek hata ayıklayıcısının ilk kesme noktasında) bunu yapmanız gerekir.
Benzer şekilde, SCSI Doğrulamasını tamamen devre dışı bırakmak istiyorsanız, düzey'i ilk kesme noktasında 0xFFFFFFFF olarak ayarlamanız gerekir.
Not 0xF0000000 değeri tüm testleri devre dışı bırakır, ancak SCSI Doğrulama modülleri yüklenmeye devam eder. Doğrulamayı devre dışı bırakmak ancak daha sonra yüksek bit testlerini etkinleştirmek istiyorsanız bu değeri kullanın. Öte yandan, 0xFFFFFFFF değeri modüllerin tamamen yüklenmesini önler; Bu değer önyükleme sırasında kullanılıyorsa, yeniden başlatmadan SCSI Doğrulama'yı etkinleştirmek mümkün olmayacaktır.
Yeniden Başlatma olmadan etkinleştirme
Genel olarak, herhangi bir Windows işletim sisteminde bilgisayarı yeniden başlatmadan ("yeniden başlatmadan") SCSI Doğrulamasını etkinleştiremez veya devre dışı bırakamazsınız. ScsiPort.sys sürücüsü VerifyLevel kayıt defteri girdisini yalnızca yüklendiğinde okur ve bu genellikle önyükleme zamanında olur. Ancak, kayıt defteri girdisini eklediğinizde ScsiPort.sys sürücüsü yüklenmezse veya kaldırılıp yeniden yüklenirse, bilgisayarı yeniden başlatmadan Windows XP ve sonraki Windows sürümlerinde SCSI Doğrulama'yı etkinleştirebilirsiniz.