RtlIpv6AddressToString - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTRTL_H

NTSYSAPI
PSTR
NTAPI
RtlIpv6AddressToStringA(
    _In_ PCIN6_ADDR Address,
    _Out_writes_(46) PSTR AddressString
    );

#endif

View code on GitHub
#ifndef _NTRTL_H

NTSYSAPI
PWSTR
NTAPI
RtlIpv6AddressToStringW(
    _In_ PCIN6_ADDR Address,
    _Out_writes_(46) PWSTR AddressString
    );

#endif

View code on GitHub
#ifndef _NTRTL_H

#define RtlIpv6AddressToString RtlIpv6AddressToStringW

#endif

View code on GitHub
// ip2string.h

NTSYSAPI PSTR RtlIpv6AddressToStringA(
  [in]  const in6_addr *Addr,
  [out] PSTR           S
);
View the official Win32 API reference
// ip2string.h

NTSYSAPI PWSTR RtlIpv6AddressToStringW(
  [in]  const in6_addr *Addr,
  [out] PWSTR          S
);
View the official Win32 API reference

NtDoc

This function is documented in Windows SDK here and here.

Win32 API reference (nf-ip2string-rtlipv6addresstostringa)

RtlIpv6AddressToStringA function

Description

The RtlIpv6AddressToString function converts an IPv6 address to a string in Internet standard format.

Parameters

Addr [in]

The IPv6 address in network byte order.

S [out]

A pointer to a buffer in which to store the NULL-terminated string representation of the IPv6 address. This buffer should be large enough to hold at least 46 characters.

Return value

A pointer to the NULL character inserted at the end of the string representation of the IPv6 address. This can be used by the caller to easily append more information to the string.

Remarks

The RtlIpv6AddressToString function is used to convert an IPv6 address to the string representation of the IPv6 address in Internet standard format.

The basic string representation consists of 8 hexadecimal numbers separated by colons. A string of consecutive zero numbers is replaced with a double-colon. There can only be one double-colon in the string representation of the IPv6 address. The last 32 bits are represented in IPv4-style dotted-octet notation if the address is an IPv4-compatible address, an IPv4-mapped IPv6 address, or an ISATAP address. For more information, see section 5 of RFC 5942 published by the IETF.

RtlIpv6AddressToString is a convenience function that does not require that the Windows Sockets DLL be loaded to access a function provided in Windows Sockets to perform IP address to string conversion.

When either UNICODE or _UNICODE is defined, RtlIpv6AddressToString is defined to RtlIpv6AddressToStringW, the Unicode version of this function. The string parameter S and the function return value are defined to the PWSTR data type.

When both UNICODE and _UNICODE are not defined, RtlIpv6AddressToString is defined to RtlIpv6AddressToStringA, the ANSI version of this function. The string parameter S and the function return value are defined to the PSTR data type.

The IN6_ADDR structure is defined in the In6addr.h header file.

[!NOTE] The ip2string.h header defines RtlIpv6AddressToString as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

See also

GetModuleHandle

GetProcAddress

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa


Win32 API reference (nf-ip2string-rtlipv6addresstostringw)

RtlIpv6AddressToStringW function

Description

The RtlIpv6AddressToString function converts an IPv6 address to a string in Internet standard format.

Parameters

Addr [in]

The IPv6 address in network byte order.

S [out]

A pointer to a buffer in which to store the NULL-terminated string representation of the IPv6 address. This buffer should be large enough to hold at least 46 characters.

Return value

A pointer to the NULL character inserted at the end of the string representation of the IPv6 address. This can be used by the caller to easily append more information to the string.

Remarks

The RtlIpv6AddressToString function is used to convert an IPv6 address to the string representation of the IPv6 address in Internet standard format.

The basic string representation consists of 8 hexadecimal numbers separated by colons. A string of consecutive zero numbers is replaced with a double-colon. There can only be one double-colon in the string representation of the IPv6 address. The last 32 bits are represented in IPv4-style dotted-octet notation if the address is an IPv4-compatible address, an IPv4-mapped IPv6 address, or an ISATAP address. For more information, see section 5 of RFC 5942 published by the IETF.

RtlIpv6AddressToString is a convenience function that does not require that the Windows Sockets DLL be loaded to access a function provided in Windows Sockets to perform IP address to string conversion.

When either UNICODE or _UNICODE is defined, RtlIpv6AddressToString is defined to RtlIpv6AddressToStringW, the Unicode version of this function. The string parameter S and the function return value are defined to the PWSTR data type.

When both UNICODE and _UNICODE are not defined, RtlIpv6AddressToString is defined to RtlIpv6AddressToStringA, the ANSI version of this function. The string parameter S and the function return value are defined to the PSTR data type.

The IN6_ADDR structure is defined in the In6addr.h header file.

[!NOTE] The ip2string.h header defines RtlIpv6AddressToString as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

See also

GetModuleHandle

GetProcAddress

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa