Share via


LPWSPGETSOCKNAME 콜백 함수(ws2spi.h)

LPWSPGetSockName 함수는 소켓의 로컬 이름을 가져옵니다.

구문

LPWSPGETSOCKNAME Lpwspgetsockname;

int Lpwspgetsockname(
  [in]      SOCKET s,
  [out]     sockaddr *name,
  [in, out] LPINT namelen,
  [out]     LPINT lpErrno
)
{...}

매개 변수

[in] s

바인딩된 소켓을 식별하는 설명자입니다.

[out] name

소켓의 주소(이름)를 제공하는 데 사용되는 sockaddr 구조체에 대한 포인터입니다.

[in, out] namelen

입력 시 이름으로 가리키는 구조체의 크기를 나타내는 정수에 대한 포인터(바이트)입니다. 출력에서 반환된 이름의 크기(바이트)를 나타냅니다.

[out] lpErrno

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

반환 값

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

오류 코드 의미
WSAENETDOWN
네트워크 하위 시스템이 실패했습니다.
WSAEFAULT
이름 또는 namelen 매개 변수가 사용자 주소 공간의 유효한 부분이 아니거나 namelen 매개 변수가 너무 작습니다.
WSAEINPROGRESS
콜백이 진행 중일 때 함수가 호출됩니다.
WSAENOTSOCK
설명자가 소켓이 아닙니다.
WSAEINVAL
소켓이 LPWSPBind가 있는 주소에 바인딩되지 않았거나 ** LPWSPBind**에 ADDR_ANY 지정되었지만 연결이 아직 발생하지 않았습니다.

설명

LPWSPGetSockName 은 지정된 소켓 설명자의 현재 이름을 이름으로 검색합니다. s 매개 변수로 지정된 바인딩된 및/또는 연결된 소켓에서 사용됩니다. 로컬 연결이 반환됩니다. 이 호출은 LPWSPBind를 먼저 수행하지 않고 LPWSPConnect 호출을 수행한 경우에 특히 유용합니다. 이 호출은 서비스 공급자가 설정한 로컬 연결을 확인할 수 있는 유일한 수단을 제공하기 때문에

소켓이 지정되지 않은 주소(예: ADDR_ANY)에 바인딩되어 지정된 주소 패밀리 내의 호스트 주소를 소켓에 사용해야 함을 나타내는 경우 LPWSPGetSockName은 소켓이 LPWSPConnect 또는 LPWSPAccept와 연결되어 있지 않은 한 호스트 주소에 대한 정보를 반드시 반환하지는 않습니다. Windows 소켓 SPI 클라이언트는 소켓이 연결되지 않는 한 주소를 지정한다고 가정해서는 안 됩니다. 다중 호스트의 경우 소켓이 연결될 때까지 소켓에 사용할 주소를 알 수 없습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 ws2spi.h

참고 항목

LPWSPBind

LPWSPGetPeerName

LPWSPSocket