2 回答

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
當(dāng)函數(shù)的返回值顯示此調(diào)用將返回有用的數(shù)據(jù)時(shí),應(yīng)該立即調(diào)用 GetLastError 函數(shù),這是因?yàn)楫?dāng)調(diào)用成功時(shí),一些函數(shù)調(diào)用 GetLastError(0) 來(lái)刪除掉通過(guò)函數(shù)調(diào)用失敗設(shè)置的錯(cuò)誤代碼很多 Win32 API 中的函數(shù)當(dāng)函數(shù)調(diào)用失敗時(shí)設(shè)置線程的錯(cuò)誤代碼值。
有幾個(gè)函數(shù)當(dāng)用于函數(shù)調(diào)用成功時(shí),設(shè)置此代碼值,函數(shù)調(diào)用失敗,一般由一個(gè)返回錯(cuò)誤代碼值來(lái)顯示。如 FALSE、NULL、0xFFFF 或 C1,一些函數(shù)在調(diào)用成功的情況下調(diào)用GetLastError,這些情況已寫(xiě)在每個(gè)函數(shù)的參考頁(yè)中。
擴(kuò)展資料:
只有在函數(shù)調(diào)用返回一個(gè)錯(cuò)誤結(jié)果時(shí),這個(gè)函數(shù)指出的錯(cuò)誤結(jié)果才是有效的。通常,只有在函數(shù)返回一個(gè)錯(cuò)誤結(jié)果,而且已知函數(shù)會(huì)設(shè)置GetLastError變量的前提下,才應(yīng)訪問(wèn)GetLastError;
這時(shí)能保證獲得有效的結(jié)果。SetLastError函數(shù)主要在對(duì)api函數(shù)進(jìn)行模擬的dll函數(shù)中使用,所以對(duì)vb應(yīng)用程序來(lái)說(shuō)是沒(méi)有意義的
添加回答
舉報(bào)