Função de retorno de chamada LPWSPGETSOCKNAME (ws2spi.h)

A função LPWSPGetSockName obtém o nome local de um soquete.

Sintaxe

LPWSPGETSOCKNAME Lpwspgetsockname;

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

Parâmetros

[in] s

Descritor que identifica um soquete associado.

[out] name

Ponteiro para uma estrutura sockaddr usada para fornecer o endereço (nome) do soquete.

[in, out] namelen

Na entrada, ponteiro para um inteiro que indica o tamanho da estrutura apontada por nome, em bytes. Na saída indica o tamanho do nome retornado, em bytes.

[out] lpErrno

Ponteiro para o código de erro.

Valor retornado

Se nenhum erro ocorrer, LPWSPGetSockName retornará zero. Caso contrário, um valor de SOCKET_ERROR será retornado e um código de erro específico estará disponível no lpErrno.

Código do Erro Significado
WSAENETDOWN
O subsistema de rede falhou.
WSAEFAULT
O nome ou o parâmetro namelen não é uma parte válida do espaço de endereço do usuário ou o parâmetro namelen é muito pequeno.
WSAEINPROGRESS
A função é invocada quando um retorno de chamada está em andamento.
WSAENOTSOCK
O descritor não é um soquete.
WSAEINVAL
O soquete não foi associado a um endereço com LPWSPBind ou ADDR_ANY é especificado em **LPWSPBind** mas a conexão ainda não ocorreu.

Comentários

LPWSPGetSockName recupera o nome atual do descritor de soquete especificado no nome. Ele é usado em um soquete associado e/ou conectado especificado pelo parâmetro s . A associação local é retornada. Essa chamada é especialmente útil quando uma chamada LPWSPConnect é feita sem fazer um LPWSPBind primeiro; como essa chamada fornece os únicos meios pelos quais a associação local que foi definida pelo provedor de serviços pode ser determinada.

Se um soquete foi associado a um endereço não especificado (por exemplo, ADDR_ANY), indicando que qualquer um dos endereços do host dentro da família de endereços especificada deve ser usado para o soquete, LPWSPGetSockNamenão necessariamente retornará informações sobre o endereço do host, a menos que o soquete tenha sido conectado com LPWSPConnect ou LPWSPAccept. O cliente SPI do Windows Sockets não deve assumir que um endereço será especificado, a menos que o soquete esteja conectado. Isso ocorre porque, para um host multihomed, o endereço que será usado para o soquete é desconhecido até que o soquete seja conectado.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho ws2spi.h

Confira também

LPWSPBind

LPWSPGetPeerName

LPWSPSocket