Microsoft在知识库中给出了解决的办法,就是修改注册表中对irpstacksize大小的定义
HKLMSystemCurrentControlSetServicesLanmanServerParametersIrpStackSize
这个值默认是不存在的,需要自己建立,DWORD类型。Microsoft建议比默认值增加5个单位,即改成20(10进制)。
修改这个值后,不必重启计算机,可以停止“Server”服务再重新启动一下即可生效。
哪些程序会占用到文件系统的irpstacksize呢?常见的有反病毒软件、实时加解密软件、文件系统监视软件、虚拟磁盘软件、系统还原软件和部分软件防火墙,当然还有少数病毒也会占用。secWall作为实时加解密软件也会占用一层irpstacksize。有些人想不明白的是自己根本不可能安装15个以上这类软件,为什么会不够呢?其实不然,操作系统自己已经占用了好几层了,如果你用的原装系统(如一些捆绑操作系统的笔记本电脑),可能已经占得差不多了,再多装一两个这类软件就会超过15层。
C盘是操作系统所在的盘,有些工具软件只监视C盘而不监视其他盘,这也是C盘共享时容易出现这个问题的原因。