首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSACleanUp导致异常

WSACleanUp导致异常
EN

Stack Overflow用户
提问于 2009-02-16 10:59:27
回答 1查看 1.5K关注 0票数 0

我的应用程序可以在串行连接和套接字连接之间切换,但两者都不能同时打开。因此,当我尝试从套接字切换到串行时,我删除了套接字连接。

这个基于套接字的对象使用了一个名为UsesWinsock的私有类(这对Len Holgate来说是一个很大的挑战,因为这基本上是他的代码(它实际上是RAII,但直到我看到他这样做之前,我从未将它应用于WSA ))。这仅仅调用了WSAStart和WSACleanUp。

当调用WSACleanUp时,它会逐渐进入NTDLL和汇编程序。@err,hr给我“传递给系统调用的数据区太小”作为HRESULT。

我尝试过移动代码:按照继承的顺序移动类会导致销毁序列发生变化,并将函数拆分出来,因此它们是析构序列中最后要调用的内容。两种方法都不起作用。

我非常确定我已经释放了分配的所有东西(只有一个套接字和几个事件),我被卡住了-这对我来说是一个相当重要的问题。

Google is unhelpful returning 4 results of which none solve my problem

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2009-02-16 11:17:22

那么,您是否按原样使用我的UsesWinsock类?也就是说,你是说它坏了吗?如果是这样的话,直接给我发一封电子邮件可能是更有效的解决问题的方法。)

我注意到我的代码实际上并没有检查dtor中WSACleanUp()返回的代码,所以,我假设您正在检查这个,它是套接字错误,而WSAGetLastError()报告的是错误-缓冲区不足?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/552948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档