GetLastError

此頁沒有內(nèi)容條目
內(nèi)容

GetLastError

VB聲明

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

說明

針對之前調(diào)用的api函數(shù),用這個(gè)函數(shù)取得擴(kuò)展錯(cuò)誤信息(在vb里使用:在vb中,用Err對象的GetLastError屬性獲取GetLastError的值。這樣做是必要的,因?yàn)樵赼pi調(diào)用返回以及vb調(diào)用繼續(xù)執(zhí)行期間,vb有時(shí)會(huì)重設(shè)GetLastError的值)

返回值

Long,由api函數(shù)決定。請參考api32.txt文件,其中列出了一系列錯(cuò)誤常數(shù);都以ERROR_前綴起頭。常用的錯(cuò)誤代碼見下表

ERROR_INVALID_HANDLE

無效的句柄作為一個(gè)參數(shù)傳遞

ERROR_CALL_NOT_IMPLEMENTED

在win 95下調(diào)用專為win nt設(shè)計(jì)的win32 api函數(shù)

ERROR_INVALID_PARAMETER

函數(shù)中有個(gè)參數(shù)不正確

注解

GetLastError返回的值通過在api函數(shù)中調(diào)用SetLastError或SetLastErrorEx設(shè)置。函數(shù)并無必要設(shè)置上一次錯(cuò)誤信息,所以即使一次GetLastError調(diào)用返回的是零值,也不能擔(dān)保函數(shù)已成功執(zhí)行。只有在函數(shù)調(diào)用返回一個(gè)錯(cuò)誤結(jié)果時(shí),這個(gè)函數(shù)指出的錯(cuò)誤結(jié)果才是有效的。通常,只有在函數(shù)返回一個(gè)錯(cuò)誤結(jié)果,而且已知函數(shù)會(huì)設(shè)置GetLastError變量的前提下,才應(yīng)訪問GetLastError;這時(shí)能保證獲得有效的結(jié)果。SetLastError函數(shù)主要在對api函數(shù)進(jìn)行模擬的dll函數(shù)中使用,所以對vb應(yīng)用程序來說是沒有意義的

Top