Телекоммуникационные технологии. Том 1



         

Winsock (для UNIX, Windows- и -NT) - часть 23


Программа проверки условий должна находиться в DLL или прикладном модуле. Для определения адреса программы проверки условий следует пользоваться оператором MakeProcInstance.

Переменные lpCallerId и lpCallerData являются параметрами, которые содержат адрес партнера и любую пользовательскую информацию, которая была прислана вместе с запросом на соединение.

lpSQOS представляет собой указатель на текущую спецификацию QOS соединителя s (по одной для каждого из концов виртуального канала), за которой следуют дополнительные параметры, заданные провайдером. Нулевое значение lpSQOS указывает на то, что вызывающая сторона не задала значения QOS.

lpGQOS - указатель на спецификацию QOS группы соединителей, созданной запрашивающей стороной (для каждого из направлений обмена), за которой следуют дополнительные параметры, заданные провайдером.

lpCalleeId представляет собой локальный адрес вызывающей стороны.

lpCalleeData используется программой проверки условий для записи результатов ее работы.

lpCalleeData первоначально содержит размер буфера, предназначенного для сервис провайдера. Положение буфера определяется указателем lpCalleeData->buf. Программа проверки условий должна скопировать lpCalleeData->len байт в lpCalleeData->buf, а затем провести актуализацию lpCalleeData->len, с тем чтобы сообщить действительное число переданных байтов.

В таблице 7.10 представлен перечень кодов-сообщений об ошибках вместе с их эквивалентами для Berkley-соединителей.

Таблица 7.10. Краткое описание сообщений об ошибках

WinSock-кодBerkeley-эквивалентКод ошибкиЗначение
WSAEINTREINTR10004Как в стандартном C
WSAEBADFEBADF10009Как в стандартном C
WSAEACCESEACCES10013Как в стандартном C
WSAEFAULTEFAULT10014Как в стандартном C
WSAEINVALEINVAL10022Как в стандартном C
WSAEMFILEEMFILE10024Как в стандартном C
WSAEWOULDBLOCKEWOULDBLOCK10035Как в BSD
WSAEINPROGRESSEINPROGRESS10036

Эта ошибка возникает, если какая-либо процедура WinSock вызвана во время исполнения блокирующей операции.

WSAEALREADYEALREADY10037Как в BSD
WSAENOTSOCKENOTSOCK10038Как в BSD
WSAEDESTADDRREQEDESTADDRREQ10039Как в BSD
WSAEMSGSIZEEMSGSIZE10040Как в BSD
WSAEPROTOTYPEEPROTOTYPE10041Как в BSD
WSAENOPROTOOPTENOPROTOOPT10042Как в BSD
WSAEPROTONOSUPPORTEPROTONOSUPPORT10043Как в BSD
WSAESOCKTNOSUPPORTESOCKTNOSUPPORT10044Как в BSD
WSAEOPNOTSUPPEOPNOTSUPP10045Как в BSD
WSAEPFNOSUPPORTEPFNOSUPPORT10046Как в BSD
WSAEAFNOSUPPORTEAFNOSUPPORT10047Как в BSD
WSAEADDRINUSEEADDRINUSE10048Как в BSD
WSAEADDRNOTAVAILEADDRNOTAVAIL10049Как в BSD
WSAENETDOWNENETDOWN10050Как в BSD. Ошибка возникает в любое время, когда приложение WinSock обнаруживает ошибку на нижележащем уровне.
WSAENETUNREACHENETUNREACH10051Как в BSD
WSAENETRESETENETRESET10052Как в BSD
WSAECONNABORTEDECONNABORTED10053Как в BSD
WSAECONNRESETECONNRESET10054Как в BSD
WSAENOBUFSENOBUFS10055Как в BSD
WSAEISCONNEISCONN10056Как в BSD
WSAENOTCONNENOTCONN10057Как в BSD
WSAESHUTDOWNESHUTDOWN10058Как в BSD
WSAETOOMANYREFSETOOMANYREFS10059Как в BSD
WSAETIMEDOUTETIMEDOUT10060Как в BSD
WSAECONNREFUSEDECONNREFUSED10061Как в BSD
WSAELOOPELOOP10062Как в BSD
WSAENAMETOOLONGENAMETOOLONG10063Как в BSD
WSAEHOSTDOWNEHOSTDOWN10064Как в BSD
WSAEHOSTUNREACHEHOSTUNREACH10065Как в BSD
WSASYSNOTREADY 10091Выдается WSAStartup, указывает, что сетевая субсистема использоваться не может.
WSAVERNOTSUPPORTED 10092Выдается WSAStartup, указывая на то, что WinSock DLL не может поддерживать это приложение.
WSANOTINITIALISED 10093Выдается любой процедурой кроме WSAStartup, указывая на то, что успешное исполнение WSAStartup не было осуществлено.
WSAEDISCON 10094Выдается recv, WSARecv, чтобы отметить начало разрыва связи удаленным партнером
WSA_OPERATION_ABORTED TBDСовмещенные по времени процедуры прерваны из-за закрытия соединения, или выполнения команды SIO_FLUSH в WSAIoctl
WSAHOST_NOT_FOUNDHOST_NOT_FOUND11001Как в BSD
WSATRY_AGAINTRY_AGAIN11002Как в BSD
WSANO_RECOVERYNO_RECOVERY11003Как в BSD
WSANO_DATANO_DATA11004Как в BSD
<


Содержание  Назад  Вперед