다음을 통해 공유


RtlIpv4StringToAddressA 함수(ip2string.h)

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

통사론

NTSYSAPI NTSTATUS RtlIpv4StringToAddressA(
  [in]  PCSTR   S,
  [in]  BOOLEAN Strict,
  [out] PCSTR   *Terminator,
  [out] in_addr *Addr
);

매개 변수

[in] S

IPv4 주소의 NULL종료된 문자열 표현을 포함하는 버퍼에 대한 포인터입니다.

[in] Strict

문자열이 엄격한 4부로 구성된 점선 소수점 표기법으로 표현된 IPv4 주소여야 하는지 여부를 나타내는 값입니다. 이 매개 변수가 TRUE경우 문자열은 네 부분으로 구성된 점 소수점이어야 합니다. 이 매개 변수가 FALSE경우 10진수, 8진수 또는 16진수 표기법으로 가능한 4가지 양식 중 어느 것이든 허용됩니다. 자세한 내용은 설명 섹션을 참조하세요.

[out] Terminator

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

[out] Addr

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

반환 값

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

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

반환 코드 묘사
STATUS_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 Strict 매개 변수가 TRUE설정되었지만 S 매개 변수가 가리키는 문자열에 IPv4 주소의 4부로 구성된 점선 10진수 문자열 표현이 포함되지 않은 경우 반환됩니다. 이 오류는 S 매개 변수가 가리키는 문자열에 IPv4 주소의 적절한 문자열 표현이 없는 경우에도 반환됩니다.

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

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

발언

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

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

Strict 매개 변수가 TRUE설정된 경우 S 매개 변수가 가리키는 문자열은 엄격한 점선 소수점 표기법이어야 합니다. 이 엄격한 형식을 사용하려면 4개의 부분을 지정해야 합니다. 각 부분은 데이터의 10진수 바이트로 해석되고 왼쪽에서 오른쪽으로 IPv4 주소의 4바이트까지 할당됩니다.

Strict 매개 변수가 FALSE설정되면 S 매개 변수가 가리키는 문자열이 몇 가지 가능한 형식일 수 있습니다. S 매개 변수가 가리키는 버퍼에 3부로 구성된 주소 문자열이 포함된 경우 마지막 부분은 16비트 수량으로 해석되고 네트워크 주소의 가장 오른쪽 2바이트 안에 배치됩니다. 이렇게 하면 클래스 B 네트워크 주소를 "128.net.host"로 지정하는 데 3부로 구성된 주소 형식이 편리합니다. S 매개 변수가 가리키는 버퍼에 두 부분으로 구성된 주소 문자열이 포함된 경우 마지막 부분은 24비트 수량으로 해석되고 네트워크 주소의 가장 오른쪽 3바이트 안에 배치됩니다. 이렇게 하면 클래스 A 네트워크 주소를 "net.host"로 지정하는 데 두 부분 주소 형식이 편리합니다. S 매개 변수가 가리키는 버퍼에 한 부분으로 구성된 주소 문자열만 포함된 경우 값은 바이트 다시 정렬 없이 네트워크 주소에 직접 저장됩니다.

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

UNICODE 또는 _UNICODE 정의되면 rtlIpv4StringToAddress 이 함수의 유니코드 버전인 RtlIpv4StringToAddressW정의됩니다. S 매개 변수는 PCWSTR 데이터 형식에 정의되며 Terminator 매개 변수는 LPCWSTR 데이터 형식에 정의됩니다.

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

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

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

메모

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

요구 사항

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

참고 항목

GetModuleHandle

GetProcAddress

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddressEx

rtlIpv6AddressToString

RtlIpv6AddressToStringEx

rtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa