GetLastError() 是否有粘性?

问题描述 投票:0回答:1

GetLastError() 是否具有粘性,即在错误实际发生之前不会修改错误代码?或者 Win32 函数是否将最后一个错误代码设置为

ERROR_SUCCESS
(
0
) 以表示任何成功的操作?

winapi
1个回答
0
投票

GetLastError()
返回通过调用线程上最近一次调用
SetLastError()
(或尴尬的1
RestoreLastError()
)设置的值。否则不会改变。

API 调用记录了它们调用的条件

SetLastError()
。大多数 API 在成功执行时不会将最后一个错误代码重置为
ERROR_SUCCESS


1 为什么有一个RestoreLastError函数和SetLastError做同样的事情?

© www.soinside.com 2019 - 2024. All rights reserved.