|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| Yes
| Import Library
| kernel32.lib
| Header File
| winbase.h
| Unicode
| No
| Platform Notes
| This is used for RISC platforms only. x86 platforms and Windows 95 return a
constant
|
|
|
SetErrorMode
The SetErrorMode function controls how the operating system handles several types of serious
errors. You can specify that the operating system will handle these errors or
that the application will receive and handle them.
UINT SetErrorMode(
UINT uMode
| // set of bit flags that specify error-handling properties
| );
|
|
Parameters
uMode
A set of bit flags that specify system error-handling properties. The
following error mode bit flag constants are defined; you can set any combination of
them:
Value
| Action
| SEM_FAILCRITICALERRORS
| If this flag is set, the operating system does not display the
critical-error-handler message box when such an error occurs. Instead, the operating system
sends the error to the calling process.
| SEM_NOALIGNMENTFAULTEXCEPT
| If this flag is set, the operating system automatically fixes memory alignment
faults and makes them invisible to the application. It does this for the
calling process and any descendant processes.
This flag always affects MIPS processors. It has no effect on x86 processors.
If the registry value \CurrentControlSet\Control\Session
Manager:EnableAlignmentFaultExceptions is set to REG_DWORD 0x0, this key has no effect on ALPHA
processors. That is the system default. If the registry key is set to REG_DWORD
0x1, the SEM_NOALIGNMENTFAULTEXCEPT flag does affect ALPHA processors.
| SEM_NOGPFAULTERRORBOX
| If this flag is set, the operating system does not display the
general-protection-fault message box when such an error occurs. This flag should only be set by debugging applications that handle general protection (GP) faults
themselves via an appropriate exception handler.
| SEM_NOOPENFILEERRORBOX
| If this flag is set, the operating system does not display a message box when
it fails to find a a file. Instead, the error is returned to the calling
process.
|
Return Values
The return value is the previous state of the error-mode bit flags.
Remarks
A child process inherits the error mode of its parent process.
The default state for the error mode properties set by this function is OFF.
On some non-x86 processors misaligned memory references cause an alignment
fault exception. The SEM_NOALIGNMENTFAULTEXCEPT flag lets you control whether the
operating system automatically fixes such alignment faults, or makes them
visible to an application.
The SEM_NOALIGNMENTFAULTEXCEPT flag always affects MIPS processors. It never
affects x86 processors. It affects ALPHA processors only if the registry key
\CurrentControlSet\Control\Session Manager:EnableAlignmentFaultExceptions is set
to REG_DWORD 0x1. The default setting for that registry key is REG_DWORD 0x0.
On an x86 platform, an application doesn't need to do anything to have the
operating system automatically fix misaligned memory references. The operating
system does not make alignment faults visible to an application.
On a MIPS platform, an application must explicitly call SetErrorMode, setting the SEM_NOALIGNMENTFAULTEXCEPT flag, to have the operating system
automatically fix alignment faults. The default setting is for the operating
system to make alignment faults visible to an application.
On an ALPHA platform, the operating system automatically fixes alignment
faults, unless the aforementioned registry key is set to REG_DWORD 0x1. When that
registry key is set to REG_DWORD 0x1, the operating system makes alignment faults
visible to an application, and an application must then call SetErrorMode to
have the operating system automatically fix alignment faults.
Specifying the SEM_NOALIGNMENTFAULTEXCEPT flag on x86 systems is not an error,
but implementations of Windows NT are free to silently ignore and not properly
preserve the flag. This means that code sequences such as the following are
not always valid on x86 systems:
SetErrorMode(SEM_NOALIGNMENTFAULTEXCEPT);
fuOldErrorMode = SetErrorMode(0);
ASSERT(fuOldErrorMode == SEM_NOALIGNMENTFAULTEXCEPT);
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime without manual coding. Full C# source codes are available More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|