다음을 통해 공유


RtlIpv6StringToAddressExA 함수(ip2string.h)

RtlIpv6StringToAddressEx 함수는 IPv6 주소, scope ID 및 포트 번호의 문자열 표현을 이진 IPv6 주소, scope ID 및 포트로 변환합니다.

구문

NTSYSAPI NTSTATUS RtlIpv6StringToAddressExA(
  [in]  PCSTR    AddressString,
  [out] in6_addr *Address,
  [out] PULONG   ScopeId,
  [out] PUSHORT  Port
);

매개 변수

[in] AddressString

IPv6 주소, scope ID 및 포트 번호의 NULL로 끝나는 문자열 표현을 포함하는 버퍼에 대한 포인터입니다.

[out] Address

IPv6 주소의 이진 표현을 저장할 포인터입니다.

[out] ScopeId

IPv6 주소의 scope ID가 저장되는 위치에 대한 포인터입니다. AddressString 매개 변수에 scope ID의 문자열 표현이 포함되어 있지 않으면 이 매개 변수에 0이 반환됩니다.

[out] Port

포트 번호가 저장되는 포인터입니다. 포트 번호는 네트워크 바이트 순서 형식입니다. AddressString 매개 변수에 포트 번호의 문자열 표현이 포함되어 있지 않으면 이 매개 변수에 0이 반환됩니다.

반환 값

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

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

반환 코드 설명
STATUS_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. AddressString 매개 변수가 가리키는 문자열에 IPv6 주소의 적절한 문자열 표현이 포함되어 있지 않으면 이 오류가 반환됩니다.

이 오류 코드는 Ntstatus.h 헤더 파일에 정의되어 있습니다.

기타
FormatMessage를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

설명

RtlIpv6StringToAddressEx 함수는 IPv6 주소, scope ID 및 포트 번호의 문자열 표현을 이진 IPv6 주소, scope ID 및 포트 번호로 변환하는 데 사용됩니다. IPv6 주소는 네트워크 순서(왼쪽에서 오른쪽으로 정렬된 바이트)로 반환됩니다. 포트 번호 및 scope ID는 네트워크 순서로 반환됩니다.

RtlIpv6StringToAddressEx 는 WINDOWS 소켓 DLL을 로드하여 WINDOWS 소켓에 제공된 함수에 액세스하여 문자열을 IP 주소 변환으로 수행할 필요가 없는 편리한 함수입니다.

AddressString 매개 변수가 가리키는 문자열은 IPv6 주소 문자열에 대한 형식으로 표시되어야 하며 선택적 백분율 문자와 scope ID 문자열이 와야 합니다. IPv6 주소 및 scope ID 문자열은 대괄호로 묶어야 합니다. IPv6 주소 및 scope ID 문자열 뒤의 오른쪽 대괄호 뒤에는 선택적 콜론과 포트 번호의 문자열 표현이 뒤따를 수 있습니다. IPv6 주소의 기본 문자열 표현은 콜론으로 구분된 8개의 16진수로 구성됩니다. 연속된 0개의 숫자 문자열을 double-colon으로 바꿀 수 있습니다. IPv6 주소의 문자열 표현에는 이중 콜론이 하나만 있을 수 있습니다. 주소가 IPv4 호환 주소, IPv4 매핑된 IPv6 주소 또는 ISATAP 주소인 경우 마지막 32비트는 IPv4 스타일 점선-8진수 표기법으로 표시될 수 있습니다. 자세한 내용은 IETF에서 게시한 RFC 5942 의 섹션 5를 참조하세요.

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

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

IN6_ADDR 구조체는 In6addr.h 헤더 파일에 정의되어 있습니다.

RtlIpv6StringToAddressEx 함수를 포함하는 가져오기 라이브러리는 Windows Vista용으로 릴리스된 Microsoft SDK(Windows SDK(소프트웨어 개발 키트))에 포함되지 않습니다. RtlIpv6StringToAddressEx 함수는 WDK(Windows 드라이버 키트)에 포함된 Ntdll.lib 가져오기 라이브러리에 포함되어 있습니다. 애플리케이션은 GetModuleHandleGetProcAddress 함수를 사용하여 Ntdll.dll 함수 포인터를 검색하고 이 함수를 호출할 수도 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 ip2string.h(Mstcpip.h 포함)
DLL Ntdll.dll

추가 정보

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