__fastfail
Microsoft'a Özgü
Çağrı işlemini minimum ek yükle hemen sonlandırır.
Sözdizimi
__declspec(noreturn) void __fastfail(unsigned int code);
Parametreler
kod
[in] FAST_FAIL_<description>
İşlem sonlandırma nedenini gösteren winnt.h veya wdm.h sembolik sabiti.
Dönüş değeri
İçsel __fastfail
geri dönmez.
Açıklamalar
İç __fastfail
bilgi, hızlı bir başarısız istek için bir mekanizma sağlar. Bu, bozuk olabilecek bir işlemin hemen işlem sonlandırma isteğinde bulunma yoludur. Program durumu ve yığını kurtarmanın ötesinde bozulmuş olabilecek kritik hatalar, normal özel durum işleme tesisi tarafından işlenemez. Minimum ek yük kullanarak işlemi sonlandırmak için kullanın __fastfail
.
Dahili olarak, __fastfail
mimariye özgü çeşitli mekanizmalar kullanılarak uygulanır:
Mimari | Talimat | Kod bağımsız değişkeninin konumu |
---|---|---|
x86 | int 0x29 | ecx |
x64 | int 0x29 | rcx |
ARM | opcode 0xDEFB | r0 |
ARM64 | opcode 0xF003 | x0 |
Hızlı bir başarısız istek bağımsızdır ve genellikle yalnızca iki yönergenin yürütülmesini gerektirir. Hızlı bir başarısız istek yürütüldükten sonra çekirdek uygun eylemi gerçekleştirir. Kullanıcı modu kodunda, hızlı bir başarısız olay tetiklendiğinde yönerge işaretçisinin dışında bellek bağımlılığı yoktur. Bu, ciddi bellek bozulması durumlarında bile güvenilirliğini en üst düzeye çıkarır.
code
winnt.h veya wdm.h sembolik sabitlerinden biri FAST_FAIL_<description>
olan bağımsız değişken, hata koşulunun türünü açıklar. Ortama özgü bir şekilde hata raporlarına dahil edilir.
Kullanıcı modu hızlı başarısız istekleri, özel durum kodu 0xC0000409 ve en az bir özel durum parametresiyle devam edilemeyen ikinci bir özel durum olarak görünür. İlk özel durum parametresi değerdir code
. Bu özel durum kodu, Windows Hata Bildirimi (WER) ve hata ayıklama altyapısına işlemin bozulduğunu ve hataya yanıt olarak en az işlem içi eylemin gerçekleştirilmiş olması gerektiğini gösterir. Çekirdek modu hızlı başarısız istekleri, KERNEL_SECURITY_CHECK_FAILURE
ayrılmış bir hata denetimi kodu (0x139) kullanılarak uygulanır. Her iki durumda da, programın bozuk durumda olması beklendiğinden hiçbir özel durum işleyicisi çağrılmaz. Hata ayıklayıcı varsa, sonlandırmadan önce programın durumunu inceleme fırsatı verilir.
Windows 8'de yerel hızlı başarısız olma mekanizması desteği başladı. Hızlı hata yönergesini yerel olarak desteklemeyen Windows işletim sistemleri genellikle hızlı bir hata isteğini erişim ihlali veya hata denetimi olarak UNEXPECTED_KERNEL_MODE_TRAP
kabul eder. Bu gibi durumlarda, program hala sonlandırılır, ancak bu kadar hızlı olması gerekmez.
__fastfail
yalnızca iç olarak kullanılabilir.
Gereksinimler
Içsel | Mimari |
---|---|
__fastfail |
x86, x64, ARM, ARM64 |
intrin.h üst bilgi dosyası<>
END Microsoft'a Özgü