0x000006D9: 终结点映射器中没有更多的终结点可用。 。

很早就遇到【0x000006D9: 终结点映射器中没有更多的终结点可用】这个问题,以前也没找到原因,今天又遇到这个问题,打着刨根问底的想法,又搜索了一遍网络,发现这个问题微软在http://support.microsoft.com/kb/2123653/en-us?fr=1有个原因说明,它说的是打印机共享时出现的这个现象,不过它们的原因应当是一样的。如果本机的防火墙服务【Windows Firewall/Internet Connection Sharing (ICS)】是禁用或停止状态,在建立socket连接时使用调试模式就会出现这个问题,这个并不影响程序的正常运行,只是看见异常觉得不舒服,其实只要将防火墙服务启动起来就不会出现这个异常提示了。

转自:http://hi.baidu.com/inlookme/item/e55ebc3c6250cc5981f1a796

参考:http://support.microsoft.com/kb/2123653/en-us?fr=1

http://support.microsoft.com/kb/2123653/zh-cn


ps:如果程序中进行socket编程,调用listen函数,而Windows Firewall/Internet Connection Sharing (ICS)没启动,就会报这个警告

使用f11查看windows,listen汇编源码,堆栈如下

     hnetcfg.dll!_NdrClientCall2()     
     hnetcfg.dll!_FwOpenDynamicFwPort@16()  + 0x1b    
     hnetcfg.dll!_IcfOpenDynamicFwPort@12()  + 0x6a    
     mswsock.dll!719c77d2()     
     ws2_32.dll!_listen@8()  + 0x43    

应该是listen使用NdrClientCall2检查了防火墙服务开没开,如果没开,输出了上面那句话

参考:http://msdn.microsoft.com/en-us/library/windows/desktop/aa374215%28v=vs.85%29.aspx


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值