Поделиться через


Функция обратного вызова LPWSPGETPEERNAME (ws2spi.h)

Функция LPWSPGetPeerName получает адрес однорангового узла, к которому подключен сокет.

Синтаксис

LPWSPGETPEERNAME Lpwspgetpeername;

int Lpwspgetpeername(
  [in]      SOCKET s,
  [out]     sockaddr *name,
  [in, out] LPINT namelen,
  [out]     LPINT lpErrno
)
{...}

Параметры

[in] s

Дескриптор, определяющий подключенный сокет.

[out] name

Указатель на структуру sockaddr для получения имени однорангового узла.

[in, out] namelen

Во входных данных указатель на целое число, указывающее размер структуры, на которую указывает имя, в байтах. В выходных данных указывает размер возвращаемого имени в байтах.

[out] lpErrno

Указатель на код ошибки.

Возвращаемое значение

Если ошибка не возникает, функция LPWSPGetPeerName возвращает ноль. В противном случае возвращается значение SOCKET_ERROR, а в lpErrno доступен определенный код ошибки.

Код ошибки Значение
WSAENETDOWN
Произошел сбой сетевой подсистемы.
WSAEFAULT
Имя или параметр namelen не является допустимой частью адресного пространства пользователя или параметр namelen слишком мал.
WSAEINPROGRESS
Функция вызывается при выполнении обратного вызова.
WSAENOTSOCK
Дескриптор не является сокетом.
WSAENOTCONN
Сокет не подключен.
WSAENOTSOCK
Дескриптор не является сокетом.

Комментарии

Функция LPWSPGetPeerName предоставляет имя однорангового узла, подключенного к сокету, и сохраняет его в структуре sockaddr , на которую ссылается имя. Его можно использовать только в подключенном сокете. Для сокетов датаграмм будет возвращено только имя однорангового узла, указанного в предыдущем вызове LPWSPConnect , и любое имя, указанное в предыдущем вызове LPWSPSendTo , не будет возвращено LPWSPGetPeerName.

При возврате параметр namelen содержит фактический размер возвращаемого имени в байтах.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть ws2spi.h

См. также раздел

LPWSPBind

LPWSPGetSockName

LPWSPSocket