1

我可以安全地将局部变量从先前的完成例程传递DWORD dsBytes, dwFlags = 0到异步WSARecv调用,或者它们可以在 WSARecv 结束使用之前超出范围吗?MSDN:

如果此函数以重叠方式完成,则 Winsock 服务提供者有责任在此调用返回之前捕获 WSABUF 结构。这使应用程序能够构建由 lpBuffers 参数指向的基于堆栈的 WSABUF 数组。

但是 dsBytes 和 dwFlags 没有这样的东西。

4

1 回答 1

1

是的,您可以使用局部变量。一旦 WSARecv() 调用返回,就不会使用这些标志,并且字节计数作为参数发送到完成例程或通过调用WSAGetOverlappedResult().

于 2013-04-30T20:06:31.583 回答