第一部分程序员必读
第1章对程序错误的处理
(1)常见的Windows函数的返回类型:
VOID: 无返回值型,该函数的运行不可能失败。Windows函数很少此类型
BOOL:函数运行失败则返回0,否则返回非0
HANDLE:失败则返回NULL,否则返回一个可操作的对象的Handle。
注:有些函数会返回一个句柄值INVALID_HANDLE_VALUE,?它被定义为-1。函数的Platform? SDK文档将会清楚地说明该函数运行失败时返回的是NULL还是INVALID_HANDLE_VALID
PVOID :函数运行失败,则返回值是NULL,否则返回PVOID,以标识数据块的内存地址
LONG/DWORD:这是个难以处理的值。返回数量的函数通常返LONGDWORD。如果由于某种原因,函数无 法对想要进行计数的对象进行计数,那么该函数通常返回0或-1(根据函数而定)。如果调用的函数返回了LONG/DWORD,那么请认真阅读Platform SDK文档以确保能正确?检查潜在的错误。
(2)当某Windows函数运行错误时,可以通过调用 DWORD GetLast Error()函数获取调用该函数的关联线程的32位错误代码。其具体的错误文本以列表形式存放于WinError.h头文件中,在VC中调试时,也可以通过在Watch窗口键入“@err,hr”来获取所调用函数的运行错误代码和具体的错误文本。
(3)Windows还提供了一个函数,可以将错误代码转换成它的文本描述。该函数称为FormatMessage,该函数的格式如下:
DWORD FormatMessage(
DWORD dwFlags,
LPCVOID pSource,
DWORD dwMessageID,
DWORD dwLanguageID,
PTSTR pszBuffer,
DWORD nSize,
va_list *Argument
);
2004年11月8号