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.
Kullanım Doğrulaması
Filtre Doğrulayıcı bir mini filtre sürücüsünde aşağıdaki kullanımı doğrular:
- Parametrelerin ve çağrı bağlamının doğru kullanımı
- Ön işlem ve son işlem geri çağırma işlevlerinden doğru dönüş değerlerini sağlamak
- Geri çağırma verilerindeki parametrelerde tutarlı ve uyumlu değişiklikler
Filtre Yöneticisi Nesne İzleme
Filtre Doğrulayıcı aşağıdaki filtre yöneticisi nesnelerini izler:
- Filtre Bağlamları (akış bağlamları, dosya bağlamları vb.)
- Geri Çağırma Veri yapıları
- Kuyruğa Alınan İş Öğeleri
- NameInformation yapıları
- Dosya Nesneleri
- Nesneleri Filtrele
- Örnek Nesneleri
- Hacim Nesneleri
Başvuru sayılan yapılar, örneğin filtre bağlamları ve ad bilgisi yapıları için, herhangi bir başvuru sayısı sızdırılmış gibi göründüğünde, Filtre Doğrulayıcı filtre sürücüsünü yükten çıkardığında hata ayıklayıcıya geçiş yapar. Sızdırılan yapıları bulmak için !fltkd hata ayıklayıcısı uzantısını nasıl kullanabileceğinize ilişkin yönergeleri yazdırır.
Filtre Doğrulayıcı İhlalleri
Filtre Doğrulayıcı bir ihlal algıladığında, hata ayıklayıcıda ihlali açıklayan bir ileti yazdırır. Çoğu ihlal için yürütmeyi de durdurur ve kullanıcıdan bazı eylemler gerçekleştirmesini ister. Örneğin:
FILTER VERIFIER ERROR: A filter returned an unknown pre-operation callback status.
(Filter = FFFFAC04A21CD8A0 (MyFilter), Status = 0xbaadf00d)
Break, ignore, zap or remove ?
Devam etmek için dört tek harfli komutlardan birini yazın:
-
BveyabKesme için: Bu, daha fazla araştırma yapabileceğiniz hata ayıklayıcıya girmenizi sağlar. -
Iveyaiiçin Yoksay: Yürütmeyi sürdürür. Bu ihlalle yeniden karşılaşılırsa, Filtre Doğrulayıcı hata ayıklayıcıya ihlal iletisini yazdırır, yürütmeyi durdurur ve istemi görüntüler. -
ZveyazZap için: Yürütmeyi sürdürür. Bu ihlalle yeniden karşılaşılırsa, Filtre Doğrulayıcı ihlal iletisini hata ayıklayıcıya yazdırır, ancak yürütmeyi DURDURMAZ. -
RveyarKaldır için: Yürütmeyi sürdürür. Bu ihlalle yeniden karşılaşılırsa, Filtre Doğrulayıcı ihlal iletisini YAZDıRMAZ ve yürütmeyi DURDURMAZ.
Uyarı
Derleyici iyileştirmeleri etkin olarak oluşturulmuş bir sürücüde Filtre Doğrulayıcı'yı kullanırken, kodunuzda bir sızıntının nedenini bulamasanız bile filtrenizin bir veya daha fazla kaynağa başvuru sızdırdığını iddia eden bir Filtre Doğrulayıcı hatasıyla karşılaşabilirsiniz. İleti aşağıdakine benzer bir metinle başlar:
FILTER VERIFIER ERROR: A filter (Filter = FFFFAC04A21CD8A0 (MyFilter)) leaked references to the following resources:
Nesne izlemenin eşitlenmemiş olduğunu belirten bir ileti de görebilirsiniz, örneğin:
FILTER VERIFIER WARNING: Filter manager verifier object tracking may be out of sync for the system
Bu durumun en yaygın nedeni, Filter Verifier'ın son çağrı optimizasyonu nedeniyle bir Filtre Yöneticisi API'sinin gerçek çağıranını tanımlayamamasıdır. Bu durum, sürücünüzdeki bir yordam son satırı olarak bir Filter Manager API'sini çağırdığında oluşabilir. Örneğin:
void MyWorkItemCallback(PFLT_GENERIC_WORKITEM WorkItem,
PVOID Filter,
PVOID Context)
{
// Do some stuff
...
FltFreeGenericWorkItem(WorkItem);
}
Bunun gerçekleştiğini doğrulamanın birkaç yolu vardır:
- Şüpheli rutinin optimizasyonunu,
#pragma optimize("", off) ... #pragma optimize("", on)içine alarak devre dışı bırakın. - Kodunuzu filtre yöneticisi API çağrısı rutininizde gerçekleşen son şey olmayacak şekilde yeniden sıralayın.
Bu seçeneklerden birini denedikten sonra hata artık tekrar gerçekleşmiyorsa, büyük olasılıkla hatalı pozitiftir.
Bu Seçeneği Etkinleştirme
Komut satırını kullanarak verifier.exe bir veya daha fazla sürücü için Dosya Sistemi Filtresi Doğrulama özelliğini etkinleştirebilirsiniz. Ayrıntılar için bkz. Sürücü Doğrulayıcı Seçeneklerini Seçme.
Uyarı
Windows Derleme 25126'dan önce, ntoskrnl'ün doğrulama için seçildiği aynı anda bir veya daha fazla mini filtrede Dosya Sistemi Filtre Doğrulama'nın etkinleştirilmesi desteklenmez. Bunun yapılması sahte Doğrulayıcı hatalarıyla sonuçlanabilir.
Bu sorunu önlemek için, ya kontrol edilecek bileşenler listesine ntoskrnl eklemeyin ya da 25126 derlemesinden sonraki bir Windows sürümüne yükseltin.
Özel havuz ve verifier.exe gibi ek kullanışlı özellikler sağladığından, Filtre Doğrulayıcı'yı başlatmanın önerilen yolu /standard seçeneğidir:
verifier.exe /standard /driver MyFilter.sys
Mini filtre sürücüsü filtre yöneticisine kaydolduğunda doğrulama başlatılır.
Windows 11 ve Sonraki Windows Sürümlerinde Yalnızca Filtre Doğrulayıcıyı Etkinleştirme En düşük Filtre Doğrulayıcı denetimi kümesini etkinleştirmek için, Sürücü Doğrulayıcı 'da G /Ç Doğrulama ve Dosya Sistemi Filtre Doğrulama seçeneklerini etkinleştirin (verifier.exe). Örneğin:
verifier.exe /ruleclasses 5 37 /driver MyFilter.sysWindows 10 ve Windows'un Önceki Sürümlerinde Yalnızca Filtre Doğrulayıcıyı Etkinleştirme En düşük Filtre Doğrulayıcı denetimi kümesini etkinleştirmek için, mini filtre sürücüsünün adını belirtin ve Sürücü Doğrulayıcı'da G /Ç Doğrulama seçeneğini etkinleştirin (verifier.exe). Örneğin:
verifier.exe /flags 0x10 /driver MyFilter.sys