对AllocConsole的失败调用可以生成哪些错误代码?在MSDN网站上,它写着If the function fails, the return value is zero. To get extended error information, call GetLastError.,但我看不出它能产生什么样的错误。
发布于 2013-09-21 09:37:50
在大多数系统调用中,有一个相当长的“可能失败场景”列表,这意味着您将获得大量可能的错误代码。例如,操作系统中的某些资源可能已满(我预计操作系统中某个位置有一个控制台列表,如果该列表已满且/或无法增长,则会出现一些错误)。控制台还需要有内存作为文本内容的缓冲区,以及图形输出缓冲区(以避免每次刷新屏幕时都要绘制每个字符)--这至少会导致两个截然不同的错误(内存不足,图形内存不足,可能“无法为图形资源创建句柄”)。
另一类可能的错误是基于权限的错误--可能您的进程(基于正在登录的用户)没有足够的权限来创建控制台。
我非常肯定,实际上可能出现的错误列表要比这多得多。
总之,不要期望从函数中获得的错误是有限的--如果您对一组特定的错误代码感兴趣,那么检查这些错误代码,如果错误代码不是错误代码,就做一些明智的事情。不要期望您无法获得任何其他错误代码。
https://stackoverflow.com/questions/18929129
复制相似问题