Поделиться через


_get_doserrno

Возвращает значение ошибки, возвращаемое операционной системой перед преобразованием в errno значение.

Синтаксис

errno_t _get_doserrno(
   int * pValue
);

Параметры

pValue
Указатель на целое число, в которое должно быть подставлено текущее значение глобального макроса _doserrno.

Возвращаемое значение

Если макрос _get_doserrno выполняется успешно, он возвращает значение 0, в случае сбоя — код ошибки. В противном pValue NULLслучае вызывается недопустимый обработчик параметров, как описано в разделе "Проверка параметров". Если выполнение может быть продолжено, эта функция задает для errno значение EINVAL и возвращает EINVAL.

Замечания

Глобальный макрос _doserrno задается равным нулю во время инициализации CRT (до начала выполнения обработки). Оно устанавливается на значение ошибки операционной системы, возвращаемое вызовом функции на уровне системы, возвращающим ошибку операционной системы, и он никогда не сбрасывается до нуля во время выполнения. При написании кода для проверки значения ошибки, возвращаемого функцией, всегда очищается _doserrno перед _set_doserrno вызовом функции. Поскольку другой вызов функции может перезаписать _doserrno, проверяйте значения, используя _get_doserrno сразу после вызова функции.

Вместо переносимых кодов ошибок рекомендуется _get_errno использовать вместо _get_doserrno переносимых кодов ошибок.

Возможные значения _doserrno определяются в <errno.h>.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Маршрут Обязательный заголовок Необязательный заголовок
_get_doserrno <stdlib.h>, <cstdlib> (C++) <errno.h>, <cerrno> (C++)

_get_doserrno является расширением Майкрософт. Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

_set_doserrno
errno, _doserrno, _sys_errlist и _sys_nerr