FormatMessageFormatMessage是一个Windows API函式 。它的功能就是将GetLastError函式得到的错误信息(这个错误信息是数字代号)转化成字元串信息的函式 。
基本介绍外文名:FormatMessage
含义:Windows API函式
功能:GetLastError的返回值换成字元串
可选参数:dwFlags
语法DWORD WINAPI FormatMessage ( DWORD dwFlags, // source and processing options LPCVOID lpSource, // message source DWORD dwMessageId, // message identifier DWORD dwLanguageId, // language identifier LPTSTR lpBuffer, // message buffer DWORD nSize, // maximum size of message buffer va_list *Arguments // array of message inserts );参数dwFlags标誌位,决定如何说明lpSource参数,dwFlags的低位指定如何处理换行功能在输出缓冲区,也决定最大宽度的格式化输出行 。可选参数:标誌标誌说明FORMAT_MESSAGE_ALLOCATE_BUFFER函式会分配一个足够大的缓冲区保存格式化讯息,并且通过lpBuffer指向该地址 。当不再使用lpBuffer数据时,需调用LocalFree释放记忆体 。FORMAT_MESSAGE_ARGUMENT_ARRAYArguments参数不是指向va_list结构体,是一个指向保存参数的数组指针 。FORMAT_MESSAGE_FROM_HMODULE指定lpSource参数是要去搜寻的一个包含讯息表的模组句柄 。如果 lpSource 是NULL,会搜寻当前进程的主模组,这个标誌不能与FORMAT_MESSAGE_FROM_STRING 同时使用 。FORMAT_MESSAGE_FROM_STRINGlpSource参数是一个指向以NULL结尾的字元串,字元串包含一个讯息定义,这个讯息定义可以包含插入序列 。此标誌不能与FORMAT_MESSAGE_FROM_HMODULE 、FORMAT_MESSAGE_FROM_SYSTEM同时使用FORMAT_MESSAGE_FROM_SYSTEM0x00001000函式会从系统信息列表中搜寻所请求的信息 。如果使用FORMAT_MESSAGE_FROM_HMODULE,函式会先在lpSource指定的模组中搜寻请求的讯息,如果搜寻不到再去搜寻系统讯息表资源 。此标誌不能与FORMAT_MESSAGE_FROM_STRING同时使用 。FORMAT_MESSAGE_IGNORE_INSERTS指定讯息定义中的插入序列将被忽略,并将其直接传递给输出缓冲区 。此标誌对于获取稍后格式化的讯息很有用 。如果设定了此标誌,则忽略Arguments参数 。lpSource根据dwFlags标誌而定 。dwMessageId请求的讯息的标识符 。当dwFlags标誌为FORMAT_MESSAGE_FROM_STRING时会被忽略 。dwLanguageId请求的讯息的语言标识符 。LPTSTR lpBuffer接收错误信息描述的缓冲区指针 。nSize