AllocConsole调用失败可能产生哪些错误代码?在MSDN网站上它说If the function fails, the return value is zero. To get extended error information, call GetLastError.
但是我看不到它可以产生什么样的错误。
答案 0 :(得分:0)
在大多数系统调用中,有一个相当长的“可能的故障情形”列表,这意味着您将获得大量可能的错误代码。例如,操作系统中的某些资源可能已满(我希望操作系统中有一个控制台列表,如果该列表已满和/或无法增长,则会出现一些错误)。控制台还需要将内存作为文本内容的缓冲区,以及图形输出缓冲区(以避免每次刷新屏幕时都必须绘制每个字符) - 这两者都会导致至少两个不同的错误(输出内存,图形内存,可能“没有办法为图形资源创建句柄”)。
不同类别的可能错误是基于权限的错误 - 也许您的进程(基于登录的用户)没有足够的权限来创建控制台。
我很确定实际可能出现的错误列表远远大于此。
总之,不要指望从函数中获得的错误是有限的 - 如果您对一组特定的错误代码感兴趣,那么请检查这些错误代码,如果它不是那些。不要指望你不能得到任何其他错误代码。