LPWSPSTRINGTOADDRESS 콜백 함수(ws2spi.h)

WSPStringToAddress 함수는 사람이 읽을 수 있는 숫자 문자열을 이러한 구조를 사용하는 Windows 소켓 루틴에 전달하는 데 적합한 소켓 주소 구조(sockaddr)로 변환합니다. 주소의 누락된 구성 요소는 가능한 경우 적절한 값으로 기본 설정됩니다. 예를 들어 누락된 포트 번호는 기본적으로 0으로 설정됩니다.

구문

LPWSPSTRINGTOADDRESS Lpwspstringtoaddress;

INT Lpwspstringtoaddress(
  [in]      LPWSTR AddressString,
  [in]      INT AddressFamily,
  [in]      LPWSAPROTOCOL_INFOW lpProtocolInfo,
  [out]     LPSOCKADDR lpAddress,
  [in, out] LPINT lpAddressLength,
  [out]     LPINT lpErrno
)
{...}

매개 변수

[in] AddressString

변환할 사람이 읽을 수 있는 0으로 끝나는 문자열에 대한 포인터입니다.

[in] AddressFamily

문자열이 속한 주소 패밀리 또는 알 수 없는 경우 AF_UNSPEC.

[in] lpProtocolInfo

(필수) 공급자의 WSAProtocol_Info 구조입니다.

[out] lpAddress

단일 sockaddr 구조체로 채워진 버퍼입니다.

[in, out] lpAddressLength

주소 버퍼의 길이(바이트)입니다. 결과 sockaddr 구조체의 크기를 반환합니다. 제공된 버퍼가 충분히 크지 않으면 WSAEFAULT 의 특정 오류로 인해 함수가 실패하고 이 매개 변수가 필요한 크기(바이트)로 업데이트됩니다.

[out] lpErrno

오류 코드에 대한 포인터입니다.

반환 값

오류가 발생하지 않으면 WSPStringToAddress 는 0을 반환합니다. 그렇지 않으면 SOCKET_ERROR 값이 반환되고 lpErrno에서 특정 오류 코드를 사용할 수 있습니다.

오류 코드 의미
WSAEFAULT
지정된 주소 버퍼가 너무 작아서 더 큰 버퍼를 전달합니다.
WSAEINVAL
문자열을 sockaddr로 변환할 수 없거나 공급자가 표시된 주소 패밀리를 지원할 수 없거나 지정된 lpProtocolInfo 가 공급자가 지원하는 WSAProtocol_Info 구조를 참조하지 않았습니다.
 
 

설명

계층화된 서비스 공급자는 이 함수의 구현을 제공하지만 프로토콜 체인에서 다음 계층의 WSPStringToAddress 를 호출하는 경우 이 함수의 클라이언트이기도 합니다. 프로토콜 체인의 계층을 통해 전파되므로 이 함수의 lpProtocolInfo 매개 변수에는 몇 가지 특별한 고려 사항이 적용됩니다.

프로토콜 체인의 다음 계층이 다른 계층인 경우 다음 계층의 WSPStringToAddress가 호출될 때 이 계층은 수정되지 않은 동일한 체인 정보를 사용하여 수정되지 않은 동일한 WSAProtocol_Info 구조를 참조하는 lpProtocolInfo를 다음 계층에 전달해야 합니다. 그러나 다음 계층이 기본 프로토콜(즉, 체인의 마지막 요소)인 경우 이 계층은 기본 공급자의 WSPStringToAddress를 호출할 때 대체를 수행합니다. 이 경우 lpProtocolInfo 매개 변수에서 기본 공급자의 WSAPROTOCOL_INFO 구조를 참조해야 합니다.

이 정책의 한 가지 중요한 이점은 기본 서비스 공급자가 프로토콜 체인을 인식할 필요가 없다는 것입니다.

이 동일한 전파 정책은 LPWSPAddressToString, LPWSPDuplicateSocket, WSPStartup 또는 LPWSPSocket과 같은 다른 함수의 계층화된 시퀀스를 통해 WSAProtocol_Info구조를 전파할 때 적용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 ws2spi.h

추가 정보

WSAProtocol_Info

LPWSPDuplicateSocket

LPWSPSocket

WSPStartup

sockaddr