__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ü

Ayrıca bkz.

Derleyici iç bilgileri