다음을 통해 공유


RtlIpv6StringToAddressA 함수(ip2string.h)

RtlIpv6StringToAddress 함수는 IPv6 주소의 문자열 표현을 이진 IPv6 주소로 변환합니다.

구문

NTSYSAPI NTSTATUS RtlIpv6StringToAddressA(
  [in]  PCSTR    S,
  [out] PCSTR    *Terminator,
  [out] in6_addr *Addr
);

매개 변수

[in] S

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

[out] Terminator

변환된 문자열을 종료한 문자에 대한 포인터를 수신하는 매개 변수입니다. 호출자가 문자열에서 자세한 정보를 추출하는 데 사용할 수 있습니다.

[out] Addr

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

반환 값

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

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

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

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

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

설명

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

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

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

성공하면 Terminator 매개 변수는 변환된 문자열을 종료한 문자를 가리킵니다. 이렇게 하면 애플리케이션이 포함된 문자열과 IP 주소 및 추가 정보를 RtlIpv6StringToAddress 함수에 전달한 다음 나머지 정보를 구문 분석할 수 있습니다.

참고 일부 잘못된 형식의 IPv6 주소(예: ::::)는 유효한 IPv6 주소로 시작합니다. RtlIpv6StringToAddress 함수는 IPv6 주소의 유효한 부분을 이중 콜론(::) 구문 분석한 후 성공을 반환합니다. 그런 다음 종결자는 세 번째 콜론을 가리킵니다. 전달된 전체 문자열이 유효한 IPv6 주소인지 확인하려면 종결자가 올바른 문자를 가리키는지 확인해야 합니다. S 매개 변수에 IPv6 주소만 포함된 경우 종결자는 문자열 끝에 있는 NULL 문자를 가리킵니다.
 
UNICODE 또는 _UNICODE 정의되면 RtlIpv6StringToAddress 는 이 함수의 유니코드 버전인 RtlIpv6StringToAddressW에 정의됩니다. S종결자 매개 변수는 PCWSTR 데이터 형식에 정의됩니다.

UNICODE와 _UNICODE 모두 정의되지 않은 경우 RtlIpv6StringToAddress 는 이 함수의 ANSI 버전인 RtlIpv6StringToAddressA에 정의됩니다. S종결자 매개 변수는 PCSTR 데이터 형식에 정의됩니다.

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

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

참고

ip2string.h 헤더는 RTlIpv6StringToAddress를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 ip2string.h(Mstcpip.h, Ip2string.h 포함)
라이브러리 ntdll.lib
DLL ntdll.dll

추가 정보

GetModuleHandle

GetProcAddress

IN6_ADDR

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa