微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在这个exception消息中引用了什么“配额”:没有足够的配额可用于处理此命令

我有一个.NET应用程序引发以下exception:

System.ComponentModel.Win32Exception : Not enough quota is available to process this command at MS.Win32.UnsafeNativeMethods.PostMessage(HandleRef hwnd,Int32 msg,IntPtr wparam,IntPtr lparam) at MS.Win32.ManagedWndProcTracker.HookUpDefWindowProc(IntPtr hwnd) at MS.Win32.ManagedWndProcTracker.OnAppDomainProcessExit() at MS.Win32.ManagedWndProcTracker.ManagedWndProcTrackerShutDownListener.OnShutDown(Object target) at MS.Internal.ShutDownListener.HandleShutDown(Object sender,EventArgs e)

我不能亲自重现这个exception,但是我得到了很多用户的exception报告。

什么是“配额”被称为? 堆栈跟踪使我相信这可能是Windows消息队列的问题。

任何想法可能会导致这个错误,或如何解决它将不胜感激。

我有一个清晰的C程序,我可以编译它作为Linux服务器的可执行文件,这样我就可以在服务器上运行它,而无需安装单声道?

我怎样才能使菜单forms留在屏幕上,在所有其他应用程序的顶部?

最小化文本块的大小

如何设置客户端时区等于服务器时区窗口应用程序.Net C#

有没有一种方法可以告诉一个进程启动之前,或启动后在Windows上使用哪个IP地址?

编辑,进一步的信息:这是在所有机器上的32位Windows XP上,exception不在我的代码,而是一种.NET Framework事件处理程序。 应用程序本身不会进行任何PostMessage调用

如何从.NET客户端应用程序加载URL

检测是否不支持DPI的应用程序已被缩放/虚拟化

从窗口应用程序开始,用于检索安装在远程PC上的软件和硬件列表

在客户端selectClickOnce应用程序的目标框架

File.copy()从networking共享到另一个共享在同一台机器上通过networking复制文件

进程可以分配的特定类型的Windows资源的数量在技术上只受到进程可用的虚拟内存量的限制。 这可能是一个相当大的数字,尤其是在64位版本的Windows上。 其中一些资源从内部堆中撤出,所有其他进程也从中撤出。 如果Windows允许一个进程消耗所有数量,那么仍然是一个非常大的数字。

当然这是没有道理的,一个过程永远不应该被允许吞噬所有可用的资源。 这是配额的作用,它规定了某种类型的资源数量的上限。 常见的例子有10,000个窗口,10,000个GDI对象,10,000个句柄。 并不是所有的人都喜欢这个顺便说一句。

这需要了解更多关于PostMessage()调用内容,但合理的猜测是它将消息队列大小推过配额。 再一次,技术上资源只限于可用虚拟内存的大小。 但实际上应该保持在那以南。 如果准确的话,你发布的消息比他们可以消费的速度快,需要调节。 这发生在您的程序正在终止的确切时间表明另一种解释可能是必要的。 线程关机顺序问题,也许。

Windows 2000 / XP:每个消息队列有10,000条投递消息的限制。 这个限制应该足够大。 如果您的应用程序超出限制,应该重新设计,以避免消耗如此多的系统资源。 要调整此限制,请修改以下注册表项。

HKEY_LOCAL_MACHInesOFTWAREMicrosoftwindows NTCurrentVersionWindowsUSERPostMessageLimit

最小可接受的值是4000。

这可能是NTFS配额。 有关更多信息,请参阅http://technet.microsoft.com/en-us/library/cc786220(WS.10).aspx

从这里的解决方案是 :

我的解决方案是去控制面板>脱机文件,并增加可用磁盘空间的数量一般脱机文件和临时空间(为了简单起见,我增加了相同数量文件,我需要的文件移动但较少可能已经完成)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐