_get_doserrno

请先获取由操作系统返回的错误值,然后再将该值转换为 errno 值。

errno_t _get_doserrno(     int * pValue  ); 

参数

  • [out] pValue
    指向要使用 _doserrno 全局宏的当前值填充的整数的指针。

返回值

如果 _get_doserrno 成功,则它将返回零;如果失败,则它将返回错误代码。 如果 pValue 为 NULL,则调用的参数处理程序无效,如参数验证中所述。 如果允许执行继续,则该函数将 errno 设置为 EINVAL 并返回 EINVAL。

备注

在进程执行开始之前,在 CRT 初始化过程中将 _doserrno 全局宏设置为零。 将它设置为由返回操作系统错误的任一系统级函数调用返回的操作系统错误值,而且在执行过程中永远不会将其重置为零。 当你编写代码以检查由某个函数返回的错误值时,请始终在函数调用之前使用 _set_doserrno 清除 _doserrno。 因为另一个函数调用可能会覆盖 _doserrno,因此请在函数调用之后立即使用 _get_doserrno 检查该值。

建议使用 _get_errno 而非 _get_doserrno 获取可移植的错误代码。

在 <errno.h> 中定义 _doserrno 的可能值。

要求

例程

必需的标头

可选标头

_get_doserrno

<stdlib.h>,<cstdlib> (C++)

<errno.h>,<cerrno> (C++)

_get_doserrno 是 Microsoft 扩展。 有关更多兼容性信息,请参见兼容性

请参见

参考

_set_doserrno

errno、_doserrno、_sys_errlist 和 _sys_nerr