Função getsockname (winsock2.h)
A função getsockname recupera o nome local de um soquete.
Sintaxe
int WSAAPI getsockname(
[in] SOCKET s,
[out] sockaddr *name,
[in, out] int *namelen
);
Parâmetros
[in] s
Descritor que identifica um soquete.
[out] name
Ponteiro para uma estrutura SOCKADDR que recebe o endereço (nome) do soquete.
[in, out] namelen
Tamanho do buffer de nome , em bytes.
Retornar valor
Se nenhum erro ocorrer, getsockname retornará zero. Caso contrário, um valor de SOCKET_ERROR é retornado e um código de erro específico pode ser recuperado chamando WSAGetLastError.
Código do erro | Significado |
---|---|
Uma chamada WSAStartup bem-sucedida deve ocorrer antes de usar essa API. | |
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. | |
Uma chamada do Windows Sockets 1.1 de bloqueio está em andamento ou o provedor de serviços ainda está processando uma função de retorno de chamada. | |
O descritor não é um soquete. | |
O soquete não foi associado a um endereço com associação ou ADDR_ANY é especificado em bind, mas a conexão ainda não ocorreu. |
Comentários
A função getsockname recupera o nome atual do descritor de soquete especificado no nome. Ele é usado no soquete associado ou conectado especificado pelo parâmetro s . A associação local é retornada. Essa chamada é especialmente útil quando uma chamada de conexão é feita sem fazer uma associação primeiro; a função getsockname fornece a única maneira de determinar a associação local que foi definida pelo sistema.
Ao chamar, o parâmetro namelen contém o tamanho do buffer de nome , em bytes. No retorno, o parâmetro namelen contém o tamanho real em bytes do parâmetro name .
A função getsockname nem sempre retorna informações sobre o endereço do host quando o soquete foi associado a um endereço não especificado, a menos que o soquete tenha sido conectado com connect ou accept (por exemplo, usando ADDR_ANY). Um aplicativo do Windows Sockets não deve assumir que o endereço será especificado, a menos que o soquete esteja conectado. O endereço que será usado para o soquete é desconhecido, a menos que o soquete esteja conectado quando usado em um host multihomed. Se o soquete estiver usando um protocolo sem conexão, o endereço poderá não estar disponível até que a E/S ocorra no soquete.
Windows Phone 8: essa função tem suporte para aplicativos da Windows Phone Store no Windows Phone 8 e posterior.
Windows 8.1 e Windows Server 2012 R2: essa função tem suporte para aplicativos da Windows Store em Windows 8.1, Windows Server 2012 R2 e posteriores.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8.1, Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winsock2.h (inclua Winsock2.h) |
Biblioteca | Ws2_32.lib |
DLL | Ws2_32.dll |