读Windows核心编程 - 1

        当调用一个Windows函数失败,可以用DWORD GetLastError(); 返回该线程的32位错误代码。WinError.h头文件中包含了Microsoft公司定义的错误代码列表。每一个错误代码包含消息ID(ERROR_PATH_NOT_FOUND),消息文本和一个号码(0L、1L)三部分。当Windows函数运行失败时,应该立即调用GetLastError函数,如果调用了另一个Windows函数,返回值可能被修改。

        从系统内部来说,当一个Windows函数检测到一个错误时,它会使用一个称为线程本地存储器的机制,将相应的错误代码号码与调用的线程关联起来。(线程本地存储器在21章中描述)

        在vc6.0中,可以在watch窗口中输入@err,hr得到错误代码的英文描述,当Windows函数调用失败时不需要调用GetLastError即可在watch窗口中看见相应的错误描述。还可以利用FormatMessage函数将错误代码转化为文本描述,在创建向用户显示的字符串信息时,它是首选函数。

        也可以定义自己的错误代码,用VOID SetLastError(DWORD dwErrCode)实现。错误代码是个32位的数字,可以划分为五个域。这些域在24章中详细讲述。

发布了25 篇原创文章 · 获赞 0 · 访问量 8万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章