我可以安全地将局部变量DWORD dsBytes, dwFlags = 0
传递给之前完成例程的异步WSARecv调用,或者在WSARecv结束使用之前它们可能超出范围吗?
MSDN:
如果此功能以重叠方式完成,则为 Winsock服务提供商有责任捕获WSABUF 从此调用返回之前的结构。这使应用程序 构建lpBuffers指向的基于堆栈的WSABUF数组 参数。
但是dsBytes和dwFlags没有这样的东西。
答案 0 :(得分:1)
是的,你可以使用局部变量。一旦WSARecv()调用返回,就不会使用这些标志,并且字节计数作为参数发送到完成例程,或通过调用WSAGetOverlappedResult()
来检索。