set_unexpected (CRT)
Kendi sonlandırma işlevi çağrılacak yükler unexpected.
unexpected_function set_unexpected(
unexpected_function unexpFunction
);
Parametreler
- unexpFunction
Değiştir yazma bir işlev işaretçisi unexpected işlevi.
Dönüş Değeri
Bir önceki sonlandırma işlev işaretçisi kayıtlı olarak döndürür _set_unexpected böylece önceki işlev daha sonra geri.Önceki bir işlev kümesi, dönüş değeri varsayılan davranışını geri yüklemek için kullanılabilir; Bu değer boş olabilir.
Notlar
set_unexpected İşlev yükler unexpFunction çağrılan işlev olarak unexpected.unexpectedGeçerli C++ özel durum işleme uygulamasında kullanılmaz.unexpected_function Türü, eh içinde tanımlanır.Kullanıcı tanımlı beklenmeyen, bir işlev işaretçisi olarak h unexpFunction , verir void.Özel unexpFunction işlevi değil dönmek için arayan.
typedef void ( *unexpected_function )( );
By default, unexpected calls terminate.Kendi sonlandırma işlevi yazmak ve çağırmak bu varsayılan davranışı değiştirmek set_unexpected bağımsız olarak işlevinizin adını taşıyan.unexpectedbağımsız değişken olarak verilen son işlevini çağırır set_unexpected.
Bir çağrı tarafından yüklenen özel sonlandırma işlevi tersine set_terminate, bir özel durum içinden atılabilen unexpFunction.
Çok iş parçacıklı ortamda beklenmeyen işlevler her iş parçacığı için ayrı olarak korunur.Her yeni iş parçacığı beklenmeyen işlevi yüklemek gerekiyor.Böylece, her iş parçacığı beklenmeyen kendi işleme sorumlu olur.
C++ özel durum işleme, geçerli Microsoft uygulamasında unexpected çağrıları terminate varsayılan olarak hiçbir zaman özel durum işleme çalışma zamanı kitaplığı tarafından verilir.Arama için belirli hiçbir yararı yoktur unexpected yerine terminate.
Tek bir var. set_unexpected işleyicisi dinamik olarak bağlı tüm dll dosyaları veya kilitleyebilecek; çağırdığınız bile set_unexpected , işleyici başka tarafından değiştirilebilir veya bir işleyici değiştirme tarafından başka bir dll ya da exe ayarlayın.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
set_unexpected |
<eh.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
.NET Framework Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.