다음을 통해 공유


WSAStringToAddressA 함수(winsock2.h)

WSAStringToAddress 함수는 표준 텍스트 프레젠테이션 양식의 네트워크 주소를 sockaddr 구조체의 숫자 이진 형식으로 변환하며, 이러한 구조를 사용하는 Windows 소켓 루틴에 전달하는 데 적합합니다.

구문

INT WSAAPI WSAStringToAddressA(
  [in]           LPSTR               AddressString,
  [in]           INT                 AddressFamily,
  [in, optional] LPWSAPROTOCOL_INFOA lpProtocolInfo,
  [out]          LPSOCKADDR          lpAddress,
  [in, out]      LPINT               lpAddressLength
);

매개 변수

[in] AddressString

변환할 표준 텍스트 형식의 네트워크 주소를 포함하는 0으로 끝나는 문자열에 대한 포인터입니다.

[in] AddressFamily

AddressString 매개 변수가 가리키는 네트워크 주소의 주소 패밀리입니다.

[in, optional] lpProtocolInfo

사용할 공급자와 연결된 WSAPROTOCOL_INFO 구조체입니다. NULL인 경우 호출은 표시된 AddressFamily를 지원하는 첫 번째 프로토콜의 공급자로 라우팅됩니다.

[out] lpAddress

함수가 성공하면 주소 문자열 에 대한 sockaddr 구조로 채워진 버퍼에 대한 포인터입니다.

[in, out] lpAddressLength

lpAddress 매개 변수가 가리키는 버퍼의 길이(바이트)에 대한 포인터입니다. 함수 호출에 성공하면 이 매개 변수는 lpAddress 매개 변수에 반환된 sockaddr 구조체의 크기에 대한 포인터를 반환합니다. 지정된 버퍼가 충분히 크지 않으면 WSAEFAULT 의 특정 오류로 인해 함수가 실패하고 이 매개 변수가 필요한 크기(바이트)로 업데이트됩니다.

반환 값

작업이 성공한 경우 WSAStringToAddress 의 반환 값은 0입니다. 그렇지 않으면 SOCKET_ERROR 값이 반환되고 WSAGetLastError를 호출하여 특정 오류 번호를 검색할 수 있습니다.

오류 코드 의미
WSAEFAULT
lpAddress 매개 변수가 가리키는 버퍼가 너무 작습니다. 더 큰 버퍼를 전달합니다.
WSAEINVAL
함수가 문자열을 sockaddr로 변환할 수 없습니다. 자세한 내용은 다음 설명 섹션을 참조하세요.
WSANOTINITIALISED
WS2_32.DLL 초기화되지 않았습니다. 애플리케이션은 Windows 소켓 함수를 호출하기 전에 먼저 WSAStartup 을 호출해야 합니다.
WSA_NOT_ENOUGH_MEMORY
작업을 수행할 메모리가 부족했습니다.

설명

WSAStringToAddress 함수는 표준 텍스트 형식의 네트워크 주소를 sockaddr 구조체의 숫자 이진 형식으로 변환합니다.

가능한 경우 주소의 누락된 구성 요소는 기본적으로 적절한 값으로 설정됩니다. 예를 들어 누락된 포트 번호는 기본적으로 0으로 설정됩니다. 호출자가 특정 공급자가 변환을 수행하려면 lpProtocolInfo 매개 변수에 해당 WSAPROTOCOL_INFO 구조를 제공해야 합니다.

sockaddr 구조체의 형태로 lpAddress 매개 변수에 전달되는 SOCKADDR_IN 구조체의 sin_family 멤버가 AF_INET 또는 AF_INET6 설정되지 않으면 WSAStringToAddress 함수가 실패하고 WSAEINVAL을 반환합니다.

WSAStringToAddress 함수를 사용하는 IPv6 주소에 대한 지원이 Windows XP SP1(서비스 팩 1) 이상에서 추가되었습니다. IPv6 주소를 지원하려면 WSAStringToAddress 함수에 대한 로컬 컴퓨터에도 IPv6을 설치해야 합니다.

Windows Phone 8: 이 함수는 Windows Phone 8 이상에서 Windows Phone 스토어 앱에서 지원됩니다.

Windows 8.1Windows Server 2012 R2: 이 함수는 Windows 8.1, Windows Server 2012 R2 이상의 Windows 스토어 앱에서 지원됩니다.

참고

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

요구 사항

   
지원되는 최소 클라이언트 Windows 8.1, Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winsock2.h
라이브러리 Ws2_32.lib
DLL Ws2_32.dll

추가 정보

InetNtop

InetPton

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

WSAAddressToString

WSAPROTOCOL_INFO

WSAStartup

inet_addr

inet_ntoa

sockaddr