WSPStringToAddress
9/8/2008
Essa função converte um Human-Readable seqüência de caracteres numérico para um (estrutura endereço de soquetesockaddr) adequada para passagem para rotinas Soquetes do Windows que levam tal uma estrutura.
Nenhuma parte ausente o endereço estarão padronizado para um valor razoável se possível. De exemplo, um número porta ausente será usar como padrão para zero.
Syntax
int WSPStringToAddress (
LPWSTR AddressString,
INT AddressFamily,
LPWSAPROTOCOL_INFOW lpProtocolInfo,
LPSOCKADDR lpAddress,
LPINT lpAddressLength,
LPINT lpErrno
);
Parameters
- AddressString
[no] Aponta para o seqüência de caracteres Human-Readable zero-Terminated para converter.
- AddressFamily
[no] Endereço família ao qual pertence o seqüência de caracteres ou AF_UNSPEC se ele for desconhecido.
- lpProtocolInfo
[no] (exigido) Do provedor WSAPROTOCOL_INFOW estrutura.
- lpAddress
[out] Buffer que é preenchida com um único sockaddr estrutura.
- lpAddressLength
[in, Out] Tamanho da reserva de endereço. Retorna o tamanho do Resultant sockaddr estrutura. 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 tamanho em bytes.
- lpErrno
[out] Ponteiro para o código de erro.
Return Value
Se não houver erro, essa função retornará zero. Caso contrário, será retornado um valor de SOCKET_ERROR e um código de erro específico está disponível em lpErrno.
A seguinte tabela mostra os códigos de erro possível.
Valor de erro | Descrição |
---|---|
WSAEFAULT |
Reserva endereço especificado é muito pequena. Passar um maior reserva. |
WSAEINVAL |
Não é possível converter o seqüência de caracteres em um sockaddr, ou o provedor era impossível suporte a família de endereços indicado, ou especificado lpProtocolInfo Foi não referir a um WSAPROTOCOL_INFOW 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 WSPStringToAddress do próximo camada em encadear o provedor. Aplicar algumas considerações especiais para do esta função lpProtocolInfo parâmetro como ele é propagado para baixo através as camadas de encadear o provedor.
Se o próximo camada em encadear o provedor é outra camada e quando o próximo da camada WSPStringToAddress é chamado, esta camada deve transmitir para o próximo camada um lpProtocolInfo que faz referência a mesma mantidos inalterados WSAPROTOCOL_INFOW estrutura com as mesmo 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 WSPStringToAddress. Neste do maiúsculas e minúsculas, o provedor de base WSAPROTOCOL_INFOW 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_INFOW estrutura através uma em camadas seqüência das outras funções such as WSPAddressToString, WSPDuplicateSocket, WSPStartup, ou WSPSocket.
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 |