從GetLastError() 錯誤代碼檢索文字錯誤訊息
執行Windows API 呼叫時,GetLastError() 函數提供一個整數指示到的任何問題的錯誤代碼。若要取得更多資訊性錯誤訊息,請依照下列步驟操作:
1.利用FormatMessageA:
FormatMessageA 函數可讓您將錯誤程式碼轉換為文字錯誤訊息。它需要以下參數:
2。呼叫函數:
使用適當的參數呼叫 FormatMessageA,包含錯誤代碼:
size_t size = FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorMessageID, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL);
3。複製並釋放錯誤訊息:
檢索訊息後,將其內容複製到字串中並釋放Win32 分配的緩衝區:
std::string message(messageBuffer, size); LocalFree(messageBuffer);
按照以下說明,您可以從GetLastError() 傳回的錯誤碼中取得詳細的文字錯誤訊息,增強您對Windows API 呼叫過程中遇到的問題的理解。
以上是如何將 Windows GetLastError() 錯誤代碼轉換為人類可讀的文字訊息?的詳細內容。更多資訊請關注PHP中文網其他相關文章!