Функция обратного вызова 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 доступен определенный код ошибки.
Код ошибки | Значение |
---|---|
Произошел сбой сетевой подсистемы. | |
Имя или параметр namelen не является допустимой частью адресного пространства пользователя или параметр namelen слишком мал. | |
Функция вызывается при выполнении обратного вызова. | |
Дескриптор не является сокетом. | |
Сокет не подключен. | |
Дескриптор не является сокетом. |
Комментарии
Функция LPWSPGetPeerName предоставляет имя однорангового узла, подключенного к сокету, и сохраняет его в структуре sockaddr , на которую ссылается имя. Его можно использовать только в подключенном сокете. Для сокетов датаграмм будет возвращено только имя однорангового узла, указанного в предыдущем вызове LPWSPConnect , и любое имя, указанное в предыдущем вызове LPWSPSendTo , не будет возвращено LPWSPGetPeerName.
При возврате параметр namelen содержит фактический размер возвращаемого имени в байтах.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | ws2spi.h |