Funzione SetErrorMode (errhandlingapi.h)
Controlla se il sistema o il processo gestisce i tipi di errore gravi specificati.
Sintassi
UINT SetErrorMode(
[in] UINT uMode
);
Parametri
[in] uMode
Modalità di errore del processo. Questo parametro può essere uno o più dei valori seguenti.
Valore restituito
Il valore restituito è lo stato precedente dei flag di bit in modalità errore.
Osservazioni
Ogni processo ha una modalità di errore associata che indica al sistema in che modo l'applicazione risponderà a gravi errori. Un processo figlio eredita la modalità di errore del processo padre. Per recuperare la modalità di errore del processo, usare la funzione GetErrorMode
Poiché la modalità di errore è impostata per l'intero processo, è necessario assicurarsi che le applicazioni multithread non impostino flag diversi in modalità errore. In questo modo può verificarsi una gestione degli errori incoerente.
Il sistema non rende visibili gli errori di allineamento a un'applicazione in tutte le architetture del processore. Pertanto, specificare SEM_NOALIGNMENTFAULTEXCEPT non è un errore in tali architetture, ma il sistema è libero di ignorare automaticamente la richiesta. Ciò significa che le sequenze di codice come le seguenti non sono sempre valide nei computer x86:
C++ |
---|
SetErrorMode(SEM_NOALIGNMENTFAULTEXCEPT); fuOldErrorMode = SetErrorMode(0); ASSERT(fuOldErrorMode == SEM_NOALIGNMENTFAULTEXCEPT); |
Visual Studio 2005: Quando si dichiara un puntatore a una struttura che potrebbe non avere dati allineati, è possibile usare la parola chiave __unaligned per indicare che il tipo deve essere letto un byte alla volta. Per altre informazioni, vedere allineamento dei dati di Windows.
Windows 7: chiamanti devono favorire SetThreadErrorModeSetErrorMode poiché è meno problematico per il normale comportamento del sistema.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP [app desktop | App UWP] |
server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
errhandlingapi.h (include Windows.h) |
libreria |
Kernel32.lib |
dll | Kernel32.dll |