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

Windows 10 和 2012 中的 Windows IOCP 套接字编程崩溃

如何解决Windows 10 和 2012 中的 Windows IOCP 套接字编程崩溃

我正在尝试帮助我的一位客户将一个非常旧的 vc++ 程序迁移到 x64,该程序在 Windows 2003 上作为 win32 服务运行。它是用 VC 2005 编译的。

我已使用 Windows SDK 10 和 Windows 10 迁移到 VC 2019。

DB 和 Windows 服务 ATL 中的小问题很少。我能够修复它们。

现在 IOCP 有一个奇怪的问题,其中 GetQueuedCompletionStatus 导致成功,但 psobSockInfo 和 PerIoData 导致无法读取错误。 (附加到调试模式下 vs 2019 中的进程)。

bResult = GetQueuedCompletionStatus(sobIocpThParam->hReqRecThread,&BytesTransferred,(PDWORD_PTR)&psobSockInfo,(LPOVERLAPPED *) &PerIoData,INFINITE);

代码的编写方式与此 examplethe header file in line with

非常相似

我尝试将内存归零,尝试将指针设置为 NULL。没有任何帮助。 bResult 为 1。BytesTransfered 为 177,套接字句柄有效。

有人能指出我正确的方向吗?

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