LPWSAOVERLAPPED_COMPLETION_ROUTINE回调函数 (winsock2.h)

LPWSAOVERLAPPED_COMPLETION_ROUTINE 是函数指针类型。 在应用中实现匹配的回调函数,并将其传递给 WSAIoctlWSARecvWSASend 等函数。

当异步输入和输出 (I/O) 操作完成或取消,并且调用线程处于 (警报状态时,系统会调用回调函数,方法是使用 SleepExMsgWaitForMultipleObjectsExWaitForSingleObjectExWaitForMultipleObjectsEx 函数将 fAlertable 参数设置为 TRUE) 。

语法

LPWSAOVERLAPPED_COMPLETION_ROUTINE LpwsaoverlappedCompletionRoutine;

void LpwsaoverlappedCompletionRoutine(
  DWORD dwError,
  DWORD cbTransferred,
  LPWSAOVERLAPPED lpOverlapped,
  DWORD dwFlags
)
{...}

参数

dwError

类型:IN DWORD

I/O 完成状态。 此参数可以是 系统错误代码之一。

cbTransferred

类型:IN DWORD

已传输的字节数。 如果发生错误,此参数为零。

lpOverlapped

类型:IN LPWSAOVERLAPPED

指向异步 I/O 函数指定的 WSAOVERLAPPED 结构的指针。

调用完成例程后,系统不使用 WSAOVERLAPPED 结构,因此完成例程可以解除分配重叠结构使用的内存。

dwFlags

类型:IN DWORD

与调用关联的标志。

返回值

备注

请参阅 LPOVERLAPPED_COMPLETION_ROUTINE

要求

   
最低受支持的客户端 Windows 10内部版本 20348
最低受支持的服务器 Windows 10内部版本 20348
标头 winsock2.h