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 |
---|---|
O subsistema de rede falhou. | |
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. | |
A função é invocada quando um retorno de chamada está em andamento. | |
O descritor não é um soquete. | |
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 |