Функция WSACancelAsyncRequest (winsock.h)
Функция WSACancelAsyncRequest отменяет незавершенную асинхронную операцию.
Синтаксис
int WSACancelAsyncRequest(
[in] HANDLE hAsyncTaskHandle
);
Параметры
[in] hAsyncTaskHandle
Дескриптор, указывающий асинхронную операцию, которую необходимо отменить.
Возвращаемое значение
Значение, возвращаемое WSACancelAsyncRequest , равно нулю, если операция была успешно отменена. В противном случае возвращается значение SOCKET_ERROR, а определенный номер ошибки можно получить, вызвав WSAGetLastError.
Код ошибки | Значение |
---|---|
Перед использованием этой функции должен быть выполнен успешный вызов WSAStartup . | |
Произошел сбой сетевой подсистемы. | |
Указывает, что указанный дескриптор асинхронной задачи был недопустимым. | |
Выполняется блокирующий вызов Windows Sockets 1.1 или поставщик услуг по-прежнему обрабатывает функцию обратного вызова. | |
Отменяемая асинхронная подпрограмма уже завершена. |
Комментарии
Функция WSACancelAsyncRequest используется для отмены асинхронной операции, инициированной одной из функций WSAsyncGetXByY , таких как WSAsyncGetHostByName. Операция, которую необходимо отменить, определяется параметром hAsyncTaskHandle , который должен быть задан для дескриптора асинхронной задачи, возвращаемого инициирующей функцией WSAsyncGetXByY .
Попытка отменить существующую асинхронную операцию WSAAsyncGetXByY может завершиться ошибкой с кодом WSAEALREADY по двум причинам. Во-первых, исходная операция уже завершена, и приложение рассмотрело результирующий сообщение. Во-вторых, исходная операция уже завершена, но итоговое сообщение по-прежнему ожидается в очереди окна приложения.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winsock.h (включая Winsock2.h) |
Библиотека | Ws2_32.lib |
DLL | Ws2_32.dll |