다음을 통해 공유


RtlIpv6AddressToStringExW 함수(ip2string.h)

RtlIpv6AddressToStringEx 함수는 IPv6 주소, 범위 ID 및 포트 번호를 문자열로 변환합니다.

Syntax

NTSYSAPI NTSTATUS RtlIpv6AddressToStringExW(
  [in]      const in6_addr *Address,
  [in]      ULONG          ScopeId,
  [in]      USHORT         Port,
  [out]     PWSTR          AddressString,
  [in, out] PULONG         AddressStringLength
);

매개 변수

[in] Address

네트워크 바이트 순서의 IPv6 주소입니다.

[in] ScopeId

네트워크 바이트 순서로 IPv6 주소의 범위 ID입니다. 이 매개 변수는 선택 사항입니다.

[in] Port

네트워크 바이트 순서 형식의 포트 번호입니다. 이 매개 변수는 선택 사항입니다.

[out] AddressString

IP 주소, 범위 ID 및 포트의 NULL로 종료된 문자열 표현을 수신하는 버퍼에 대한 포인터입니다. 이 버퍼는 최소 INET6_ADDRSTRLEN 문자를 저장할 수 있을 만큼 커야 합니다. INET6_ADDRSTRLEN 값은 Ws2ipdef.h 헤더 파일에 정의됩니다.

[in, out] AddressStringLength

입력에서 NULL 종결자를 포함하여 AddressString 매개 변수가 가리키는 버퍼에 맞는 문자 수입니다. 출력 시 이 매개 변수에는 AddressString 매개 변수가 가리키는 버퍼에 실제로 기록된 문자 수가 포함됩니다.

반환 값

함수가 성공하면 반환 값이 STATUS_SUCCESS.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.

반환 코드 Description
파라미터 값이 잘못되었습니다
잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 AddressString 또는 AddressStringLength 매개 변수에 NULL 포인터가 전달되면 반환됩니다. AddressString 매개 변수가 가리키는 버퍼의 길이가 IPv6 주소, 범위 ID 및 포트의 문자열 표현을 받을 만큼 충분히 크지 않은 경우에도 이 오류가 반환됩니다.
기타
FormatMessage를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

비고

RtlIpv6AddressToStringEx 함수는 IPv6 주소, 범위 ID 및 포트 번호를 인터넷 형식으로 IPv6 주소의 문자열 표현으로 변환한 다음 범위 ID의 문자열 표현과 포트의 문자열 표현을 변환하는 데 사용됩니다. 범위 ID 및 포트 번호는 선택적 매개 변수입니다.

반환된 IPv6 주소의 기본 문자열 표현은 콜론으로 구분된 8개의 16진수 숫자로 구성됩니다. 연속된 0 16진수 문자열은 이중 콜론으로 바뀝니다. IPv6 주소의 문자열 표현에는 이중 콜론이 하나만 있을 수 있습니다. 주소가 IPv4 호환 주소, IPv4 매핑된 IPv6 주소 또는 ISATAP 주소인 경우 마지막 32비트는 IPv4 스타일 점선 옥텟 표기법으로 표시됩니다. 자세한 내용은 IETF에서 게시한 RFC 5942 섹션 5 를 참조하세요.

범위 ID가 제공되면 범위 ID의 문자열 표현이 IPv6 주소의 문자열 표현과 백분율 문자('%')로 구분됩니다. 포트 번호가 제공되면 IPv6 주소 및 범위 ID의 문자열 표현이 정사각형 중괄호(선행 '[' 문자 뒤에 IPv6 주소, '% 문자, 후행 ']' 문자가 있는 범위 ID)로 묶입니다. 포트 번호는 오른쪽 정사각형 중괄호 문자 뒤에 10진수로 포트 번호의 문자열 표현 뒤에 콜론으로 표시됩니다.

RtlIpv6AddressToStringEx 는 Windows 소켓에 제공된 함수에 액세스하기 위해 Windows 소켓 DLL을 로드하여 IP 주소를 문자열로 변환할 필요가 없는 편리한 함수입니다.

AddressString 매개 변수가 가리키는 버퍼의 길이가 IP 주소, 범위 ID 및 포트의 문자열 표현을 받을 만큼 충분히 크지 않으면 RtlIpv6AddressToStringExERROR_INVALID_PARAMETER 반환하고 AddressStringLength 매개 변수를 필요한 버퍼 길이로 설정합니다.

UNICODE 또는 _UNICODE 정의되면 RtlIpv6AddressToStringEx 가 이 함수의 유니코드 버전인 RtlIpv6AddressToStringExW에 정의됩니다. AddressString 매개 변수는 PWSTR 데이터 형식에 정의됩니다.

UNICODE와 _UNICODE 모두 정의되지 않은 경우 RtlIpv6AddressToStringEx 는 이 함수의 ANSI 버전인 RtlIpv6AddressToStringExA에 정의됩니다. AddressString 매개 변수는 PSTR 데이터 형식에 정의됩니다.

IN6_ADDR 구조체는 In6addr.h 헤더 파일에 정의됩니다.

요구 사항

요구 사항 가치
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 윈도우즈
Header ip2string.h(Mstcpip.h 포함)
Library ntdll.lib
DLL ntdll.dll

참고하십시오

GetModuleHandle

GetProcAddress

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa