SetLastErrorEx
The SetLastErrorEx
function sets the last-error code. In Windows 95 and in Windows NT,
this function is identical to the SetLastError function. The second
parameter is not implemented.
VOID SetLastErrorEx(
DWORD dwErrCode, |
// per-thread error
code |
DWORD dwType |
// error type |
); |
|
Parameters
dwErrCode
Specifies the
last-error code for the thread.
dwType
Specifies the
error type. If this process is being controlled by a debugging process, the
debugger may take action based on the error type. This parameter can have one
of the following values:
Value |
Meaning |
SLE_ERROR |
Invalid
data was passed to the function, and complete failure has occurred. |
SLE_MINORERROR |
Invalid
data was passed to the function, but the function has recovered. |
SLE_WARNING |
Potentially
invalid data was passed to the function, but the function has recovered. |
0 |
The last-error
code is set without reporting anything to the debugger. Specifying this value
is equivalent to using the SetLastError |
Remarks
Error codes
are 32-bit values (bit 31 is the most significant bit). Bit 29 is reserved for
application-defined error codes; no Win32 API error code has this bit set. If
you are defining an error code for your application, set this bit to indicate
that the error code has been defined by the application and to ensure that your
error code does not conflict with any system-defined error codes.
This function
is intended primarily for dynamic-link libraries (DLLs). Calling this function
after an error occurs allows the DLL to emulate the behavior of the Win32 API.
Most Win32
functions call SetLastError when they fail. Function failure is
typically indicated by a return value error code such as FALSE, NULL,
0xFFFFFFFF, or -1. Some
functions call SetLastError under conditions of success; those cases are
noted in each function s reference page.
Applications
can retrieve the value saved by this function by using the GetLastError
The
last-error code is kept in thread local storage so that multiple threads do not
overwrite each other s values.
See Also