在内部,当Windows函数检测到错误时,它会使用一种名为“线程本地存储区”的机制将相应的错误代码与“主调现场”关联到一起。

查看具体什么错误,调用GetLastError函数

DWORD GetLastError();//返回由上一个函数调用设置的线程的32位错误代码

每个错误都有三种表示:一个消息ID,消息文本(描述错误)和一个编号(避免使用次编号,尽量使用ID)

Windows函数失败后,应该马上调用GetLastError函数,因为假如又调用了另一个windows函数,则此值可能被改写。成功调用Windows函数可能用ERROR_SUCCESS改写此值。