[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
一个magic number。win2k源代码private\ntos\rtl\error.c:ULONGRtlNtStatusToDosErrorNoTeb ( IN NTSTATUS Status )函数体中: else if ((Status & 0xffff0000) == 0x80070000) { // // The status code was a win32 error already. // return(Status & 0x0000ffff); }也就是如果内核返回0x80070000,错误代码就会被转换成0,应用层使用GetLastError()获得的返回值就是0,因为0表示没有错误,所以就不会弹出错误对话框。用这个magic number来取代STATUS_ACCESS_DENIED,会比较“优雅”。