2 回答

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