LPWSAOVERLAPPED_COMPLETION_ROUTINE callback function (winsock2.h)

LPWSAOVERLAPPED_COMPLETION_ROUTINE is a function pointer type. You implement a matching callback function in your app, and pass that to functions such as WSAIoctl, WSARecv, and WSASend, among others.

The system calls your callback function when the asynchronous input and output (I/O) operation is completed or canceled, and the calling thread is in an alertable state (by using the SleepEx, MsgWaitForMultipleObjectsEx, WaitForSingleObjectEx, or WaitForMultipleObjectsEx function with the fAlertable parameter set to TRUE).

Syntax

LPWSAOVERLAPPED_COMPLETION_ROUTINE LpwsaoverlappedCompletionRoutine;

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

Parameters

dwError

Type: IN DWORD

The I/O completion status. This parameter can be one of the system error codes.

cbTransferred

Type: IN DWORD

The number of bytes transferred. If an error occurs, this parameter is zero.

lpOverlapped

Type: IN LPWSAOVERLAPPED

A pointer to the WSAOVERLAPPED structure specified by the asynchronous I/O function.

The system doesn't use the WSAOVERLAPPED structure after the completion routine is called, so the completion routine can deallocate the memory used by the overlapped structure.

dwFlags

Type: IN DWORD

Flags associated with the call.

Return value

None

Remarks

See LPOVERLAPPED_COMPLETION_ROUTINE.

Requirements

Requirement Value
Minimum supported client Windows 10 Build 20348
Minimum supported server Windows 10 Build 20348
Header winsock2.h