在调用Windows函数时,它会先验证我们传递给它的参数,然后执行任务。参数错误或者任务执行失败时,当我们希望获得更错失败信息时,调用Windows提供的DWORD GetLastError()函数,获取一个32位的错误码。
Windows函数这种向调用者指出错误的机制,同样可以运用到我们自己的函数中,向调用者指出错误,我们只需要设置线程的上一个错误码,实现该功能只需要调用VOID SetLastError(DWORD dwErrCode)函数,我们尽可能使用WinError.h中现有的错误码,如果不能准确反映我们想报告的错误,我们也可以自己定义自己的错误码。
如果我们想显示错误的文本描述而不是一个错误码,Window提供一个函数:
DWORD WINAPI FormatMessage(
DWORD dwFlags,
LPCVOID lpSource,
DWORD dwMessageId,
DWORD dwLanguageId,
LPTSTR lpBuffer,
DWORD nSize,
va_list *Arguments);
具体函数如何使用:https://msdn.microsoft.com/en-us/library/windows/desktop/ms679351%28v=vs.85%29.aspx