上一个错误代码

发生错误时,大多数系统函数会返回错误代码,通常为 0、NULL 或 –1。 许多系统函数还会设置一个名为上一个错误代码的其他错误代码。 系统会为每个正在运行的线程单独维护此错误代码;一个线程中的错误不会覆盖另一个线程中的上一个错误代码。 任何函数都可以调用 SetLastErrorSetLastErrorEx 函数来设置当前线程的上一个错误代码。 这些函数主要用于动态链接库 (DLL),因此它们可以向调用应用程序提供信息。 请注意,某些函数在成功时会通过 0 调用 SetLastErrorSetLastErrorEx,并清除最近失败的函数所设置的错误代码,而另一些函数则不会。

应用程序可以使用 GetLastError 函数检索上一个错误代码;此错误代码可能会告知有关导致函数失败的实际发生情况的详细信息。 系统函数的文档将指示函数设置上一个错误代码的条件。

系统定义一组错误代码,这些错误代码可以设置为上一个错误代码或由这些函数返回。 错误代码是 32 位值(第 31 位是最重要的位)。 第 29 位是为应用程序定义的错误代码保留的位;没有为系统错误代码设置此位。 如果为应用程序定义错误代码,请设置此位以指示应用程序已定义这些错误代码,并确保这些错误代码与任何系统定义的错误代码不冲突。 有关详细信息,请参阅 WinError.h 和系统错误代码