Compartilhar via


Função RtlIpv4AddressToStringExA (ip2string.h)

A função RtlIpv4AddressToStringEx converte um endereço IPv4 e um número de porta em uma cadeia de caracteres no formato padrão da Internet.

Sintaxe

NTSYSAPI NTSTATUS RtlIpv4AddressToStringExA(
  [in]      const in_addr *Address,
  [in]      USHORT        Port,
  [out]     PSTR          AddressString,
  [in, out] PULONG        AddressStringLength
);

Parâmetros

[in] Address

O endereço IPv4 na ordem de bytes de rede.

[in] Port

O número da porta no formato de ordem de bytes de rede. Esse parâmetro é opcional.

[out] AddressString

Um ponteiro para o buffer para receber a representação de cadeia de caracteres terminada por NULL do endereço IPv4 e da porta. Esse buffer deve ser grande o suficiente para conter pelo menos INET_ADDRSTRLEN caracteres. O valor INET_ADDRSTRLEN é definido no arquivo de cabeçalho Ws2ipdef.h .

[in, out] AddressStringLength

Na entrada, o número de caracteres que se encaixam no buffer apontado pelo parâmetro AddressString , incluindo o terminador NULL.

Na saída, esse parâmetro contém o número de caracteres realmente gravados no buffer apontado pelo parâmetro AddressString .

Valor de retorno

Se a função for bem-sucedida, o valor retornado será STATUS_SUCCESS.

Se a função falhar, o valor retornado será um dos seguintes códigos de erro.

Código de retorno Description
STATUS_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função. Esse erro será retornado se um ponteiro NULL for passado no parâmetro AddressString ou AddressStringLength . Esse erro também será retornado se o comprimento do buffer apontado pelo parâmetro AddressString não for grande o suficiente para receber a representação de cadeia de caracteres do endereço IPv4 e da porta.
Outras
Use FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado.

Observações

A função RtlIpv4AddressToStringEx é usada para converter um endereço IPv4 e um número de porta para a representação de cadeia de caracteres do endereço IPv4 no formato decimal pontilhado da Internet seguido por um caractere de dois-pontos e uma representação de cadeia de caracteres da porta.

RtlIpv4AddressToStringEx é uma função de conveniência que não exige que a DLL dos Soquetes do Windows seja carregada para acessar uma função fornecida nos Soquetes do Windows para executar o endereço IP em conversão de cadeia de caracteres.

Se o comprimento do buffer apontado pelo parâmetro AddressString não for grande o suficiente para receber a representação de cadeia de caracteres do endereço IPv4 e da porta, RtlIpv4AddressToStringEx retornará ERROR_INVALID_PARAMETER e definirá o parâmetro AddressStringLength como o comprimento do buffer necessário.

Quando UNICODE ou _UNICODE é definido, RtlIpv4AddressToStringEx é definido como RtlIpv4AddressToStringExW, a versão Unicode dessa função. O parâmetro AddressString é definido como o tipo de dados PWSTR.

Quando unicode e _UNICODE não são definidos, RtlIpv4AddressToStringEx é definido como RtlIpv4AddressToStringExA, a versão ANSI dessa função. O parâmetro AddressString é definido como o tipo de dados PSTR.

A estrutura de IN_ADDR é definida no arquivo de cabeçalho Inaddr.h .

Requirements

Requirement Value
Cliente mínimo suportado Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo compatível Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
Header ip2string.h (inclua Mstcpip.h)
Library ntdll.lib
de DLL Ntdll.dll

Consulte também

GetModuleHandle
GetProcAddress
InetNtop
InetPton
LoadLibrary
RtlIpv4AddressToString
RtlIpv4StringToAddress
RtlIpv4StringToAddressEx
RtlIpv6AddressToString
RtlIpv6AddressToStringEx
RtlIpv6StringToAddress
RtlIpv6StringToAddressEx
inet_addr
inet_ntoa