WSPAddressToString
9/8/2008
Essa função converte todas as partes de um sockaddr estrutura em um representação de seqüência de caracteres Readable–numeric humano do endereço. Isso é usado principalmente para fins exibir.
Syntax
int WSPAddressToString(
LPSOCKADDR lpsaAddress,
DWORD dwAddressLength,
LPWSAPROTOCOL_INFOW lpProtocolInfo,
LPWSTR lpszAddressString,
LPDWORD lpdwAddressStringLength,
LPINT lpErrno
);
Parameters
- lpsaAddress
[no] Aponta para um sockaddr estrutura para converter em um seqüência de caracteres.
- dwAddressLength
[no] Comprimento de endereço sockaddr.
- lpProtocolInfo
[no] (exigido) WSAPROTOCOL_INFO estrutura associado com o provedor que fará a conversão.
- lpszAddressString
[out] Buffer que recebe o seqüência de caracteres Readable–Address humano.
- lpdwAddressStringLength
[in, Out] Na entrada, o comprimento das AddressString reserva em caracteres. Na saída, retorna o comprimento do seqüência de caracteres realmente copiado para a reserva incluindo o encerrando NULL caractere. Se a reserva fornecida não é grande o suficiente, o função falhar com um erro específico do WSAEFAULT e este parâmetro é atualizado com o exigido seqüência de caracteres comprimento em caracteres.
- lpErrno
[out] Ponteiro para o código de erro.
Return Value
Se não houver erro, essa função retornará zero. Caso contrário, ele retorna SOCKET_ERROR e um código de erro específico está disponível em lpErrno.
Valor de erro | Descrição |
---|---|
WSAEFAULT |
Reserva AddressString especificada é muito pequena. Passar um maior reserva. |
WSA_EINVAL |
Especificado endereço não é um válido endereço de soquete, ou seu família de endereços não é com suporte pelo provedor ou especificado lpProtocolInfo Foi não referir a um WSAPROTOCOL_INFO estrutura com suporte, o provedor. |
Considerações sobre do provedor de serviço em camadas
Uma em camadas provedor serviço fornece uma implementação desta função, mas ele também é um cliente desta função se e quando ela chama WSPAddressToString do próximo camada em encadear o provedor. Aplicar algumas considerações especiais para a lpProtocolInfo parâmetro como ele é propagado para baixo através as camadas de encadear o provedor.
Quando uma camada segue outra camada em um encadear provedor a primeira camada deve transmitir para o próximo um lpProtocolInfo parâmetro quando da camada de segunda WSPAddressToString função é chamado. O lpProtocolInfo parâmetro deve fazer referência um WSAPROTOCOL_INFO estrutura com informações encadear não modificada. No entanto, se o próximo camada é o protocolo de base (that is, o elemento último no encadear), essa camada executa uma substituição quando chamado do provedor de de base WSPAddressToString. Neste do maiúsculas e minúsculas, o provedor de base WSAPROTOCOL_INFO estrutura deve ser relacionado pela lpProtocolInfo parâmetro. Um beneficiar vital dessa diretiva é que serviço de base provedores não precisa estar ciente de cadeias provedor.
Esta diretiva de propagação mesmo se aplica ao propagar um WSAPROTOCOL_INFO estrutura através uma em camadas seqüência das outras funções such as WSPDuplicateSocket, WSPStartup, WSPSocket, ou WSPStringToAddress.
Requirements
Header | ws2spi.h |
Library | Ws2.lib |
Windows Embedded CE | Windows CE .NET 4.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |