0

对AllocConsole的调用失败会生成哪些错误代码?在 MSDN 网站上它说If the function fails, the return value is zero. To get extended error information, call GetLastError.但我没有看到任何地方说它会产生什么样的错误。

4

1 回答 1

-1

在大多数系统调用中,有一个相当长的“可能的失败场景”列表,这意味着您会得到大量可能的错误代码。例如,操作系统中的某些资源可能已满(我希望操作系统中的某处有一个控制台列表,如果该列表已满和/或无法增长,则会出现一些错误)。控制台还需要内存作为文本内容的缓冲区,以及图形输出缓冲区(以避免每次刷新屏幕时都必须绘制每个字符)——这两者都会导致至少两个不同的错误(out内存不足,图形内存不足,并且可能“无法为图形资源创建句柄”)。

不同类别的可能错误是基于权限的错误 - 也许您的进程(基于正在登录的用户)没有足够的权限来创建控制台。

我很确定实际可能的错误列表远不止于此。

总而言之,不要期望从函数中获得的错误是有限的——如果您对一组特定的错误代码感兴趣,请检查这些错误代码,如果不是其中之一,请做一些理智的事情。不要指望你不能得到任何其他错误代码。

于 2013-09-21T09:37:50.000 回答