GetLastError 函数 (errhandlingapi.h)
发布时间:2026-08-20 | 浏览:1
访问此页面需要授权。 可以尝试 登录 或 更改目录 。
访问此页面需要授权。 可以尝试 更改目录 。
检索调用线程的最后错误代码值。 最后一个错误代码按线程进行维护。 多个线程不会覆盖彼此的最后一个错误代码。
Visual Basic: 应用程序应调用 err。LastDllError 而不是 GetLastError 。
返回值是调用线程的最后错误代码。
设置最后错误代码的每个函数的文档的返回值部分记录了函数设置最后错误代码的条件。 设置线程最后错误代码的大多数函数在失败时设置它。 但是,某些函数还会在成功时设置最后一个错误代码。 如果未记录函数以设置最后一个错误代码,则此函数返回的值只是要设置的最新最后一个错误代码;某些函数在成功时将最后一个错误代码设置为 0,而其他函数则不这样做。
调用线程执行的函数通过调用 SetLastError 函数来设置此值。 当函数的返回值指示此类调用将返回有用的数据时,应立即调用 GetLastError 函数。 这是因为某些函数在成功时以零调用 SetLastError ,从而清除最近失败的函数设置的错误代码。
若要获取系统错误代码的错误字符串,请使用 FormatMessage 函数。 有关操作系统提供的错误代码的完整列表,请参阅 系统错误代码 。
函数返回的错误代码不属于 Windows API 规范,可能会因操作系统或设备驱动程序而异。 出于此原因,我们无法提供每个函数可返回的错误代码的完整列表。 还有许多函数,其文档甚至不包括可返回的部分错误代码列表。
错误代码是 32 位值(位 31 是最高有效位)。 针对应用程序定义的错误代码会保留位 29,系统错误代码不会设置此位。 如果要为应用程序定义错误代码,请将此位设置为 1。 这表示错误代码已由应用程序定义,并确保错误代码不会与系统定义的任何错误代码冲突。
若要将系统错误转换为 HRESULT 值,请使用 HRESULT_FROM_WIN32 宏。
有关示例,请参阅 检索 Last-Error 代码 。
HRESULT_FROM_WIN32
VBS enclave 中可用的 Vertdll API
想要尝试使用 Ask Learn 阐明或指导你完成本主题?
Last updated on 2024-02-29