词条 | FormatMessage |
释义 | 函数说明FormatMessage功能就是将GetLastError得到的错误信息(这个错误信息是数字代号)转化成字符串信息的函数 FormatMessage() 函数FormatMessage声明如下: DWORD WINAPI FormatMessage( __in DWORD dwFlags, __in_opt LPCVOID lpSource, __in DWORD dwMessageId, __in DWORD dwLanguageId, __out LPTSTR lpBuffer, __in DWORD nSize, __in_opt va_list *Arguments ); 参数说明: dwFlags: 标志位,决定如何说明lpSource参数,dwFlags的低位制定如何处理换行功能在输出缓冲区,也决定最大宽度的格式化输出行。 可选参数: 标志 标志说明 FORMAT_MESSAGE_ALLOCATE_BUFFER FORMAT_MESSAGE_ARGUMENT_ARRAY FORMAT_MESSAGE_FROM_HMODULE FORMAT_MESSAGE_FROM_STRING FORMAT_MESSAGE_FROM_SYSTEM FORMAT_MESSAGE_IGNORE_INSERTS lpSource: 根据dwFlags标志而定。 dwMessageId: 请求的消息的标识符。当dwFlags标志为FORMAT_MESSAGE_FROM_STRING时会被忽略。 dwLanguageId: 请求的消息的语言标识符。 nSize: 如果FORMAT_MESSAGE_ALLOCATE_BUFFER标志没有被指定,这个参数必须指定为输出缓冲区的大小, 如果指定,这个参数指定为分配给输出缓冲区的最小数。 Arguments: 保存格式化信息中的插入值的一个数组。 返回值: 如果函数调用成功,返回输出缓冲区的大小,除最后一个空字符。如果失败侧返回0。 举列#001 //系统错误信息提示。 #002 //蔡军生 2007/11/28 QQ:9073204 深圳 #003 void TestErrorInfo(void) #004 { #005 //进行出错。 #006 if (!CreateDirectory(_T("c:\\\\"),0)) #007 { #008 TCHAR szBuf[128]; #009 LPVOID lpMsgBuf; #010 DWORD dw = GetLastError(); #011 #012 FormatMessage( #013 FORMAT_MESSAGE_ALLOCATE_BUFFER | #014 FORMAT_MESSAGE_FROM_SYSTEM, #015 NULL, #016 dw, #017 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), #018 (LPTSTR) &lpMsgBuf, #019 0, NULL ); #020 #021 wsprintf(szBuf, #022 _T("%s 出错信息 (出错码=%d): %s"), #023 _T("CreateDirectory"), dw, lpMsgBuf); #024 #025 LocalFree(lpMsgBuf); #026 #027 //输出提示。 #028 OutputDebugString(szBuf); #029 } #030 #031 } 调用后输出下面的提示信息: CreateDirectory 出错信息 (出错码=5): 拒绝访问。 |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。