Share via


LPWSPSENDDISCONNECT 콜백 함수(ws2spi.h)

LPWSPSendDisconnect 함수는 소켓에 대한 연결 종료를 시작하고 연결 끊기 데이터를 보냅니다.

구문

LPWSPSENDDISCONNECT Lpwspsenddisconnect;

int Lpwspsenddisconnect(
  [in]  SOCKET s,
  [in]  LPWSABUF lpOutboundDisconnectData,
  [out] LPINT lpErrno
)
{...}

매개 변수

[in] s

소켓을 식별하는 설명자입니다.

[in] lpOutboundDisconnectData

나가는 연결 끊기 데이터에 대한 포인터입니다.

[out] lpErrno

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

반환 값

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

오류 코드 의미
WSAENETDOWN
네트워크 하위 시스템이 실패했습니다.
WSAENOPROTOOPT
lpOutboundDisconnectData 매개 변수가 null이 아니며 서비스 공급자가 연결 끊기 데이터를 지원하지 않습니다.
WSAEINPROGRESS
Windows 소켓 호출 차단이 진행 중이거나 서비스 공급자가 여전히 콜백 함수를 처리하고 있습니다.
WSAENOTCONN
소켓이 연결되지 않았습니다(연결 지향 소켓만 해당).
WSAENOTSOCK
설명자가 소켓이 아닙니다.
WSAEFAULT
lpOutboundDisconnectData 매개 변수는 사용자 주소 공간의 유효한 부분에 완전히 포함되지 않습니다.

설명

LPWSPSendDisconnect 함수는 연결 지향 소켓에서 전송을 사용하지 않도록 설정하고 연결 해제 데이터 전송(있는 경우)과 함께 연결 종료를 시작하는 데 사용됩니다.

이 함수가 성공적으로 실행되면 후속 전송이 허용되지 않습니다.

lpOutboundDisconnectData 매개 변수(null이 아닌 경우)는 원격 당사자에게 보낼 나가는 연결 해제 데이터가 포함된 버퍼를 가리킵니다.

LPWSPSendDisconnect는 소켓을 닫지 않으며 LPWSPCloseSocket이 호출될 때까지 소켓에 연결된 리소스가 해제되지 않습니다.

참고

LPWSPSendDisconnect 함수는 소켓의 SO_LINGER 설정에 관계없이 차단되지 않습니다. Windows 소켓 SPI 클라이언트는 연결이 끊긴 후 소켓을 다시 사용할 수 있어야 합니다. 특히 Windows 소켓 공급자는 이러한 소켓에서 LPWSPConnect 사용을 지원할 필요가 없습니다.

요구 사항

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

추가 정보

LPWSPConnect

LPWSPSocket