Chinaunix首页 | 论坛 | 博客

  • 博客访问: 294935
  • 博文数量: 57
  • 博客积分: 2014
  • 博客等级: 大尉
  • 技术积分: 605
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-18 14:30
文章存档

2015年(3)

2009年(5)

2008年(32)

2007年(17)

我的朋友

分类: WINDOWS

2009-11-12 11:12:23

Windows API 返回值的类型
 
1.VOID
该函数的运行不可能失败。Windows函数的返回值类型很少是VOID
2.BOOL
如果函数运行失败,那么返回值是0,否则返回的是非0值。最好对返回值进行测试,以确定它是0还是非0。不要测试返回值是否为TRUE
3.HANDLE
如果函数运行失败,则返回值通常是NULL,否则返回值为HANDLE,用于标识你可以操作的一个对象。注意,有些函数会返回一个句柄值INVALID_HANDLE_VALUE,它被定义为-1。函数的Platform SDK文档将会清楚地说明该函数运行失败时返回的是NULL还是INVALID_HANDLE_VALUE
4.PVOID
如果函数运行失败,则返回值是NULL,否则返回PVOID,以标识数据块的内存地址
5.LONG/DWORD
这是个难以处理的值。返回数量的函数通常返回LONG或DWORD。如果由于某种原因,函数无法对想要进行计数的对象进行计数,那么该函数通常返回 0或-1(根据函数而定) 。如果调用的函数返回了LONG/DWORD,那么请认真阅读Platform SDK文档,以确保能正确检查潜在的错误。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
GetLastError函数
返回出错线程的最后错误代码
在VS调试器的Watch窗口中可以通过使用@err,hr来获得响应的出错信息。
 
FormatMessage函数
将错误号码转换成相应的文本描述。
 
SetLastError函数
设定当前线程的错误代码,该代码可以为任意值,为了避免与Microsoft的设定冲突,需要将自定义错误代码的第29位设置为1
 
 位  31~30  29  28  27~16  15~0
 内容  严重性  Microsoft/客户  保留  设备代码  异常代码
 含义  成功->0
 参考->1
 警告->2
 错误->3
 MS->0
 OWN->1
 0  由MS定义  由MS定义
阅读(1801) | 评论(0) | 转发(0) |
0

上一篇:Windows核心编程

下一篇:第二章 Unicode

给主人留下些什么吧!~~