GetLastError

GetLastError

VB声明

Declare Function GetLastError Lib "kernel32" Alias "GetLastError" () As Long

说明

针对之前调用的api函数,用这个函数取得扩展错误信息(在vb里使用:在vb中,用Err对象的GetLastError属性获取GetLastError的值。这样做是必要的,因为在api调用返回以及vb调用继续执行期间,vb有时会重设GetLastError的值)

返回值

Long,由api函数决定。请参考api32.txt文件,其中列出了一系列错误常数;都以ERROR_前缀起头。常用的错误代码见下表

ERROR_INVALID_HANDLE

无效的句柄作为一个参数传递

ERROR_CALL_NOT_IMPLEMENTED

在win 95下调用专为win nt设计的win32 api函数

ERROR_INVALID_PARAMETER

函数中有个参数不正确

注解

GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置。函数并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值,也不能担保函数已成功执行。只有在函数调用返回一个错误结果时,这个函数指出的错误结果才是有效的。通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError变量的前提下,才应访问GetLastError;这时能保证获得有效的结果。SetLastError函数主要在对api函数进行模拟的dll函数中使用,所以对vb应用程序来说是没有意义的

Top