_set_abort_behavior

Bir program anormal şekilde sonlandırıldığında gerçekleştirilecek eylemi belirtir.

Not

Test veya hata ayıklama senaryoları dışında bir Microsoft Store uygulamasını kapatmak için işlevini kullanmayın abort . Microsoft Store ilkelerine göre Bir Mağaza uygulamasını kapatmaya yönelik programlı veya kullanıcı arabirimi yöntemlerine izin verilmez. Daha fazla bilgi için bkz . UWP uygulama yaşam döngüsü.

Sözdizimi

unsigned int _set_abort_behavior(
   unsigned int flags,
   unsigned int mask
);

Parametreler

flags
Bayrakların abort yeni değeri.

mask
Ayarlanacağı abort bayrak bitleri için maske.

Dönüş değeri

Bayrakların eski değeri.

Açıklamalar

İki abort bayrak vardır: _WRITE_ABORT_MSG ve _CALL_REPORTFAULT. _WRITE_ABORT_MSG program anormal şekilde sonlandırıldığında yararlı bir metin iletisinin yazdırılıp yazdırılmayacağını belirler. İleti, uygulamanın işlevini çağırdığını abort belirtir. Varsayılan davranış, iletiyi yazdırmaktır. _CALL_REPORTFAULTayarlanırsa, çağrıldığında abort hataları Microsoft'a bildirmek için Windows Hata Bildirimi Hizmeti mekanizmasını (eski adıyla Dr. Watson) çağırır. Varsayılan olarak kilitlenme dökümü raporlaması DEBUG olmayan derlemelerde etkinleştirilir. Windows hata raporlama işleyicisi çağrılmazsa, abort 3. çıkış koduyla işlemi sonlandırmak için çağrılar _exit ve denetimi üst işleme veya işletim sistemine döndürür. _exit akış arabelleklerini temizlemez veya işleme yapmaz atexit/_onexit .

Windows uyumluluğu nedenleriyle, çağrısı _exityapıldığında abort Windows ExitProcess API'sini çağırabilir ve bu da DLL sonlandırma yordamlarının çalışmasına izin verir. Yıkıcılar yürütülebilir dosyada çalıştırılmaz, ancak yürütülebilir dosyanın işlem alanına yüklenen DLL'ler için de aynı durum geçerli olmayabilir. Bu davranış C++ standardına kesinlikle uymaz. DLL'ler de dahil olmak üzere bir işlemi hemen sonlandırmak için Windows TerminateProcess API'sini kullanın. Standart uyumlu davranış için çağıran TerminateProcess bir iptal sinyali işleyicisi de kaydedebilirsiniz. Uyumlu davranış, Windows uyumluluğunda bir maliyete neden olabilir.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bunu değiştirmek için bkz . CRT'de Genel durum.

Gereksinimler

Yordam Gerekli başlık
_set_abort_behavior <stdlib.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

// crt_set_abort_behavior.c
// compile with: /TC
#include <stdlib.h>

int main()
{
   printf("Suppressing the abort message. If successful, this message"
          " will be the only output.\n");
   // Suppress the abort message
   _set_abort_behavior( 0, _WRITE_ABORT_MSG);
   abort();
}
Suppressing the abort message. If successful, this message will be the only output.

Ayrıca bkz.

abort