dsBytes,WSARecv的dwFlags参数

时间:2013-04-30 19:28:19

标签: c++ sockets winapi visual-c++

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

  

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

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

1 个答案:

答案 0 :(得分:1)

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