最後一個錯誤碼

發生錯誤時,大部分的系統函式都會傳回錯誤碼,通常是0、 NULL或 –1。 許多系統函式也會設定額外的錯誤碼, 稱為最後一個錯誤碼。 每個執行中的線程都會個別維護此錯誤碼;某個線程中的錯誤不會覆寫另一個線程中的最後一個錯誤碼。 任何函式都可以呼叫 SetLastErrorSetLastErrorEx 函式,以設定目前線程的最後一個錯誤碼。 這些函式主要適用於動態連結庫 (DLL),因此它們可以提供呼叫應用程式的資訊。 請注意,某些函式會在成功時呼叫 SetLastErrorSetLastErrorEx ,並清除最近失敗函式所設定的錯誤碼,而其他函式則不會。

應用程式可以使用 GetLastError 函式來擷取最後一個錯誤碼;錯誤碼可能會詳細說明實際發生什麼狀況,讓函式失敗。 系統函式的檔會指出函式設定最後一個錯誤碼的條件。

系統會定義一組錯誤碼,這些錯誤碼可以設定為最後一個錯誤碼,或由這些函式傳回。 錯誤碼是32位值(位元31是最重要的位)。 位 29 保留給應用程式定義的錯誤碼;沒有系統錯誤碼已設定此位。 如果您為應用程式定義錯誤碼,請將此位設定為指出錯誤碼已由應用程式定義,並確保錯誤碼不會與任何系統定義的錯誤碼衝突。 如需詳細資訊,請參閱 WinError.h 和 系統錯誤碼