_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>.
Требования
Подпрограмма |
Обязательный заголовок |
Необязательный заголовок |
---|---|---|
_get_doserrno |
<stdlib.h>, <cstdlib> (C++) |
<errno.h>, <cerrno> (C++) |
_get_doserrno является расширением Майкрософт. Дополнительные сведения о совместимости см. в разделе Совместимость.