_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
является расширением Майкрософт. Дополнительные сведения о совместимости см. в разделе Совместимость.