функция обратного вызова LPWSAOVERLAPPED_COMPLETION_ROUTINE (winsock2.h)
LPWSAOVERLAPPED_COMPLETION_ROUTINE является типом указателя функции. Вы реализуете соответствующую функцию обратного вызова в приложении и передаете ее таким функциям, как WSAIoctl, WSARecv и WSASend.
Система вызывает функцию обратного вызова, когда асинхронная операция ввода-вывода (I/O) завершена или отменена, а вызывающий поток находится в состоянии оповещения (с помощью функции SleepEx, MsgWaitForMultipleObjectsEx, WaitForSingleObjectEx или WaitForMultipleObjectsEx с параметром fAlertable, равнымTRUE).
Синтаксис
LPWSAOVERLAPPED_COMPLETION_ROUTINE LpwsaoverlappedCompletionRoutine;
void LpwsaoverlappedCompletionRoutine(
DWORD dwError,
DWORD cbTransferred,
LPWSAOVERLAPPED lpOverlapped,
DWORD dwFlags
)
{...}
Параметры
dwError
Тип: IN DWORD
Состояние завершения ввода-вывода. Этот параметр может быть одним из кодов системных ошибок.
cbTransferred
Тип: IN DWORD
Количество переданных байтов. При возникновении ошибки этот параметр равен нулю.
lpOverlapped
Тип: IN LPWSAOVERLAPPED
Указатель на структуру WSAOVERLAPPED , заданную асинхронной функцией ввода-вывода.
Система не использует структуру WSAOVERLAPPED после вызова процедуры завершения, поэтому подпрограмма завершения может освободить память, используемую перекрывающейся структурой.
dwFlags
Тип: IN DWORD
Флаги, связанные с вызовом.
Возвращаемое значение
None
Remarks
См . LPOVERLAPPED_COMPLETION_ROUTINE.
Требования
Минимальная версия клиента | Windows 10 сборки 20348 |
Минимальная версия сервера | Windows 10 сборки 20348 |
Верхняя часть | winsock2.h |