FormatMessage函数
来源:互联网 发布:华为端口聚合配置 编辑:程序博客网 时间:2024/05/16 03:59
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 [in]
格式话选项,表明lpSource参数的解释方式。
这个参数可以选取下面的值:
Value
Meaning
FORMAT_MESSAGE_ALLOCATE_BUFFER
0x00000100
函数自动使用LocalAlloc函数,来为lpBuffer分配内存。lpBuffer必须是一个指向LPTSTR的指针,同时,你必须对这个指针进行下面的强制转换(LPTSTR)&lpBuffer。此时,nSize规定了,FormatMessage函数,至少要分配nSize*sizeof(TCHAR)个自己的内存。如果要释放这段分配的内存,请使用LocalFree函数。
FORMAT_MESSAGE_ARGUMENT_ARRAY
0x00002000
这个标志表示,Arguments参数不是一个va_list结构体,而是一个指向数组的指针,这个数组中的值就是字符串中的参数。
如果使用这个标志,数组中的值必须是32为的,不能是64位的,如果要使用64位的值,那么,必须使用va_list结构体。
FORMAT_MESSAGE_FROM_HMODULE
0x00000800
lpSource参数,指向一个模块句柄,如果lpSource=NULL,那么代表当前应用程序映像。这个表示不能和FORMAT_MESSAGE_FROM_STRING标志一起使用。
如果lpSource指向的模块,没有消息列表资源,那么FormatMessage函数返回一个错误:ERROR_RESOURCE_TYPE_NOT_FOUND。
FORMAT_MESSAGE_FROM_STRING
0x00000400
lpSource指向一个NULL结尾的字符串,这个字符串就是消息。这个标志不能和FORMAT_MESSAGE_FROM_HMODULE 和 FORMAT_MESSAGE_FROM_SYSTEM一起使用
FORMAT_MESSAGE_FROM_SYSTEM
0x00001000
这个函数从系统消息列表资源中,获取消息。
如果这个标志被设置,那么可以讲GetLastError函数的返回值,作为参数传给给FormatMessage函数,来获取错误提示。
FORMAT_MESSAGE_IGNORE_INSERTS
0x00000200
这个标志表示Arguments参数将被忽略。
lpSource [in, optional]
消息所在位置,这个参数类型,根据dwFlags标志来设定。
dwMessageId [in]
消息索引,如果lpSource是一个字符串,那么这个参数被忽略。
dwLanguageId [in]
语言标识,在这里使用NULL,表示操作系统的语言。
lpBuffer [out]
接受消息字符串的内存块。
nSize [in]
内存大小。如果内存由FormatMessage函数分配,那么这个参数表示内存块的最小大小。
Arguments [in, optional]
消息中的参数。
Return Value
如果函数成功,返回字符消息的字符数。
如果函数失败,返回0,用GetLastError函数,获取错误信息。
- FormatMessage函数
- FormatMessage函数
- FormatMessage函数
- FormatMessage 函数
- FormatMessage VC函数
- FormatMessage函数的用法
- FormatMessage函数简介
- FormatMessage函数使用详解
- FormatMessage函数的用法
- FormatMessage函数的用法
- FormatMessage函数的用法
- FormatMessage函数的用法
- FormatMessage函数的用法
- FormatMessage函数的用法
- FormatMessage函数的用法
- FormatMessage错误消息处理函数
- FormatMessage
- FormatMessage
- Python leetcode #2 Add Two Numbers
- python爬虫--selenium等待页面加载
- ubuntu下使用intellij运行CloudSimSDN的示例
- 441. Arranging Coins
- compileSdkVersion、targetSdkVersion、Support库的作用与他们之间的关系
- FormatMessage函数
- ASP.NET MVC 常用扩展点:过滤器、模型绑定等
- .msi 版本 和 .zip 版本的区别
- smtp发无附件邮件
- ZOJ 3872 Beauty of Array (思维 dp思想)
- pistache(C++ REST 工具) 使用
- maven应用(二)
- 剑指offer-31.整数中1出现的次数(从1到n整数中1出现的次数)
- PHP接口类interface使用方法