admin管理员组文章数量:1531792
2024年3月18日发(作者:)
GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置。
函数并无必要设置上一次错误信 息,所以即使一次GetLastError调用返回的是零值,也
不能担保函数已成功执行。只有在函数调用返回一个错误结果时,这个函数指出的错误结
果才是 有效的。通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError
变量的前提下,才应访问GetLastError;这时能保证获 得有效的结果。SetLastError函数
主要在对api函数进行模拟的dll函数中使用,所以对vb应用程序来说是没有意义的 。
当函数的返回值显示此调用将返回有用的数据时,应该立即调用 GetLastError 函数,
这是因为当调用成功时,一些函数调用 GetLastError(0) 来删除掉通过函数调用失败设置
的错误代码很多 Win32 API 中的函数当函数调用失败时设置线程的错误代码值。有几个
函数当用于函数调用成功时,设置此代码值,函数调用失败,一般由一个返回错误代码值
来显示。如 FALSE、NULL、0xFFFF 或 C1,一些函数在调用成功的情况下调用
GetLastError,这些情况已写在每个函数的参考页中。
错误代码是 32 位值(但是第31位是最重要的位),第29位是为应用程序定义的错
误代码值,系统没有设置这种错误代码,如果为应用程序定义了一个错误代码,则设第29
位 的值为1,这表明错误代码已经被一个应用程序定义,并保证次错误代码不与系统定义
的错误代码发生冲突。
错误代码
【0】-操作成功完成。
【1】-功能错误。
【2】-系统找不到指定的文件。
【3】-系统找不到指定的路径。
【4】-系统无法打开文件。
【5】-拒绝访问。
【6】-句柄无效。
【7】-存储控制块被损坏。
【8】-存储空间不足,无法处理此命令。
【9】-存储控制块地址无效。
【10】-环境错误。
【11】-试图加载格式错误的程序。
【12】-访问码无效。
【13】-数据无效。
【14】-存储器不足,无法完成此操作。
版权声明:本文标题:GetLastError详解 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1710743394a281252.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论