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.
Microsoft Kaynak Kodu Ek Açıklama Dili (SAL), Windows sürücülerinin ve ilgili çekirdek kodunun analizine özgü ek açıklamalar içerir. Ek açıklama dili işlevlerin, parametrelerin, dönüş değerlerinin, yapıların ve yapı alanlarının özelliklerini açıklamanın bir yolunu sağlar. Ek açıklamalar, kodunuza eklediğiniz ve derleyici tarafından yoksayılan ancak statik çözümleme araçları tarafından kullanılan açıklamalar gibidir. Ek açıklamaların kullanılması, geliştirici verimliliğinin artırılmasına yardımcı olur, statik analiz sonuçlarının doğruluğunu geliştirmeye yardımcı olur ve araçların belirli bir hatanın mevcut olup olmadığını daha iyi belirlemesine olanak tanır. Sürücü ek açıklamaları, sürücü olmayan veya çekirdekle ilgili olmayan kodlarda kullanılmak üzere tasarlanmamıştır. Sürücü ek açıklamaları Driverspecs.h içinde tanımlanır.
Not Windows 8, SAL 1.0'ın yerini alan SAL 2.0'ı tanıtır. SAL 2.0 hakkında bilgi için bkz. C/C++ Kod Hatalarını Azaltmak için SAL Ek Açıklamalarını Kullanma. SAL 2.0, SAL 1.0'ın yerini alır. SAL 2.0, Windows 8 için Windows Driver Kit (WDK) 8 ile kullanılmalıdır. Sürücüler için SAL 1.0 hakkında bilgiye ihtiyacınız varsa Windows 7 için WDK ile birlikte gelen belgelere bakın.
IRQL ek açıklamaları
Bir işlevin çalıştırılması gereken IRQL düzeylerinin aralığını belirtmek için IRQL ek açıklamalarını kullanın. IRQL ek açıklamaları, kod çözümleme aracının hataları daha doğru bulmasına yardımcı olur.
_IRQL_requires_max_(value)
_IRQL_requires_min_(value)
_IRQL_raises_(value)
_IRQL_requires_(value)
_IRQL_raises_(value)
_IRQL_saves_
_IRQL_restores_
_IRQL_saves_global_(kind, param)
_IRQL_restores_global_(kind, param)
_IRQL_always_function_min_(value)
_IRQL_always_function_max_(value)
_IRQL_requires_same_
_IRQL_is_cancel_ - DRIVER_CANCEL geri çağırma işlevinin doğru davranışını sağlamaya yardımcı olması için _IRQL_is_cancel ek açıklamasını kullanın.
Sürücüler için kayan nokta ek açıklamaları
_Kernel_float_saved_
_Kernel_float_restored_
_Kernel_float_used_
Sürücüler için Kayan Nokta Ek Açıklamaları'nı kullanarak, kod analiz aracının çekirdek modundaki kodda kayan nokta kullanımını tespit etmesine yardımcı olabilirsiniz ve kayan nokta durumu düzgün korunmadıysa hataları raporlamasını sağlayabilirsiniz.
DO_DEVICE_INITIALIZING açıklaması
_Kernel_clear_do_init_
Açıklama eklenmiş işlevin cihaz nesnesinin Bayraklar alanındaki DO_DEVICE_INITIALIZING bitini temizlemesinin beklenip beklenmediğini belirtmek için DO_DEVICE_INITIALIZING ek açıklamasını kullanın.
Kernel_IoGetDmaAdapter açıklaması
_Kernel_IoGetDmaAdapter_
Kod çözümleme araçlarını DMA işaretçilerinin kötüye kullanımını aramaya yönlendirmek için Kernel_IoGetDmaAdapter ek açıklamasını kullanın.
Birbirine bağlı işlem operatörleri için ek açıklamalar
_Interlocked_operand_
İşlev parametreleri için Kilitli İşlenenler Açıklamalarını kullanarak bunları kilitli işlenenler olarak tanımlayın. Bir dizi işlev, parametrelerinden biri olarak birbirine bağlı işlemci yönergesi kullanılarak erişilmesi gereken bir değişkenin adresini alır. Bunlar önbellek okuma atomik yönergeleridir ve işlenenler yanlış kullanılırsa çok küçük hatalar oluşur.
Sürücü dağıtım rutinleri için açıklamalar
_Dispatch_type_
WDM sürücü dağıtma yordamlarını bildirirken Sürücü Dağıtım Yordamlarına Ek Açıklamaları kullanın. Daha fazla bilgi için bkz. WDM Sürücüleri için İşlev Rolü Türlerini Kullanarak İşlevleri Bildirme ve Sürücü Gönderme Yordamlarına Açıklama Ekleme.
Dosya Sistemi Minifilter işlem öncesi geri çağırma _Flt_CompletionContext_Outptr_ ek açıklaması
_Flt_CompletionContext_Outptr_
Dosya Sistemi Minifilter işlem öncesi geri çağırma callback fonksiyonlarınıPFLT_PRE_OPERATION_CALLBACK olarak bildirirken _Flt_CompletionContext_Outptr_ ek açıklamasını kullanın.
Bu ek açıklamayı CompletionContext parametresine yerleştirin. Bu ek açıklama, kod çözümleme aracını CompletionContext değerinin FLT_PREOP_CALLBACK_STATUS dönüş değeri için doğru olup olmadığını denetlemeye yönlendirir.
Ayrıca bakınız
C/C++ Kod Hatalarını Azaltmak için SAL Ek Açıklamalarını Kullanma