Здравствуйте, уважаемые подписчики. Перед вами очередной выпуск рассылки "WinAPI
на русском".
Сайт рассылки: http://www.winnt.rsm.org.ru. Материалы по Win32 API, C++Builder.
Раздел "WinAPI": http://www.winnt.rsm.org.ru/winapi/winapi.htm
Раздел "C++Builder": http://www.winnt.rsm.org.ru/cbuilder/cbuilder.htm
Раздел "Советы & примеры": http://www.winnt.rsm.org.ru/tipstricks/tipstricks.htm
Обновления на сайте
Обновился справочник по WinAPI.
В hlp-файл добавились функции:
CreateSolidBrush
CancelDC
GetClipboardFormatName
LocalFileTimeToFileTime
GetNearestColor
CheckMenuItem
WindowProc
GetCursorPos
GetCursor
EnumCodePagesProc
GetThreadLocale
В chm-файл добавились функции:
CreateSolidBrush
CancelDC
PostThreadMessage
GetClipboardFormatName
Перевод
Сегодня вашему вниманию представлен перевод функции SetLastErrorEx.
SetLastErrorEx
Функция SetLastErrorEx устанавливает код последней ошибки. В Windows 95 и в Windows
NT функция идентична функции SetLastError. Второй параметр не реализован.
VOID SetLastErrorEx(
DWORD dwErrCode, // код ошибки для потока
DWORD dwType // тип ошибки
);
Параметры
dwErrCode – устанавливает код последней ошибки для потока.
dwType – определяет тип ошибки. Если процесс контролируется отладочным процессом,
отладчик может предпринять действия, основываясь на значении этого параметра.
Параметр может принимать одно из следующих значений:
Значение Пояснение
SLE_ERROR Функции были переданы неверные данные, и произошла фатальная ошибка.
SLE_MINORERROR Функции были переданы неверные данные, но функция продолжила свое
выполнение.
SLE_WARNING Потенциально неверные данные были переданы функции, но функция продолжила
свое выполнение.
0 Код последней ошибки установлен без сообщения об этом отладчику. Установка
параметра dwType в нулевое значение эквивалентна использованию функции SetLastError.
Комментарии
Коды ошибок являются 32-битными величинами (31 бит – наиболее значимый бит).
29 бит зарезервирован для определяемых приложением кодов ошибок – ни один из
системных кодов ошибок не устанавливает этот бит. Если вы определяете код ошибки
для вашего приложения, установите этот бит в единицу. Это укажет, что код ошибки
установлен для приложения и гарантирует, что он не будет конфликтовать с кодами
ошибок, определенными операционной системой.
Функция SetLastErrorEx предназначена, в основном, для динамически подключаемых
библиотек (DLL). Вызов SetLastErrorEx после того, как произошла ошибка, позволяет
DLL эмулировать поведения Win32 API.
Большинство Win32 приложений вызывают SetLastError, когда в них происходит сбой.
На сбой в работе функции обычно указывает ее возвращаемое значение: FALSE, NULL,
0xFFFFFFFF или –1. Некоторые функции вызывают SetLastError при условии успешного
их выполнения. Такие случаи отмечены на соответствующих страницах руководства.
Приложения могут извлечь значение, сохраненное функцией SetLastError, используя
функцию GetLastError.
Код последней ошибки хранится для каждого потока индивидуально, так что множественные
потоки не перезаписывают коды последних ошибок друг друга.
См. также
GetLastError, SetLastError.
С уважением,
ведущий рассылки
Тарас Сорока.
mailto:tnsoroka@online.ru