非常简单,SetLastError(DWORD);
#include "stdafx.h"
#include <windows.h>
bool fun()
{
DWORD errCode = 1 << 29 | 100;
SetLastError(errCode);
return false;
}
int main()
{
fun();
printf("The Last Err code:0x%x", GetLastError());
while (1);
return 0;
}
输出为:
The Last Err code:0x20000064
就是fun中设置的值。
第29位为1代表自定义错误代码,为0(微软默认值)代表微软的错误代码。
一般先考虑微软的错误代码,在winerr.h头文件中。