汇编语言GetLastError和FormatMessage函数:获取错误信息
若 Windows API 函数返回了错误值 ( 如 NULL),则可以调用 API 函数 GetLastError 来获取该错误的更多信息。该函数用 EAX 返回 32 位整数错误码: .datamessageId DWORD ?.codecall GetLastErrormov messageId,eax MS-Windows 有大量的错误码,因此,程序员可能希望得到一个消息字符串来对错误进行说明。要想达到这个目的,就调用函数 FormatMessage: FormatMessage PROTO, ;格式化消息 dwFlags:DWORD, ;格式化选项 lpSource:DWORD, ;消息定义的位置 dwMsgID:DWORD, ;消息标识符 dwLanguageID:DWORD, ;语言标识符 lpBuffer:PTR BYTE, ;缓冲区接收字符串指针 nSize:DWORD, ;缓冲区大小 va_list: DWORD ;参数列表指针 该函数的参数有点复杂,程序员需要阅读 SDK 文档来了解全部信息。下面简要列出了最常用的参数值。除了 lpBuffer 是输出参数外,其他都是输入参数: 1) dwFlags 保存格式化选项的双字整数,包括如何解释参数 lpSource。它规定怎样处理换行,以及格式化输出行的最大宽度。建议值为 FORMAT_MESSAGE