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 및 포트의 문자열 표현을 받을 만큼 충분히 크지 않으면 RtlIpv6AddressToStringEx는 ERROR_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 |