SO_BSP_STATE 소켓 옵션
SO_BSP_STATE 소켓 옵션은 소켓에서 사용하는 로컬 주소, 로컬 포트, 원격 주소, 원격 포트, 소켓 유형 및 프로토콜을 반환합니다.
이 작업을 수행하려면 다음 매개 변수를 사용하여 getsockopt 함수를 호출합니다.
소켓 옵션 값
이 소켓 옵션을 나타내는 상수는 0x1009.
구문
int getsockopt(
(SOCKET) s, // descriptor identifying a socket
(int) SOL_SOCKET, // level
(int) SO_BSP_STATE, // optname
(char *) optval, // output buffer,
(int) *optlen, // size of output buffer
);
매개 변수
-
s [in]
-
소켓을 식별하는 설명자입니다.
-
수준 [in]
-
옵션이 정의된 수준입니다. 이 작업에 는 SOL_SOCKET 사용합니다.
-
optname [in]
-
값을 검색할 소켓 옵션입니다. 이 작업에 는 SO_BSP_STATE 사용합니다.
-
optval [out]
-
요청된 옵션의 값을 반환할 버퍼에 대한 포인터입니다. 이 매개 변수는 CSADDR_INFO 구조체의 크기보다 크거나 같은 버퍼를 가리킵니다.
-
optlen [in, out]
-
옵트발 버퍼의 크기(바이트)에 대한 포인터입니다. 이 크기는 CSADDR_INFO 구조체의 크기와 같거나 커야 합니다.
반환 값
작업이 성공적으로 완료되면 getsockopt 는 0을 반환합니다.
작업이 실패하면 SOCKET_ERROR 값이 반환되고 WSAGetLastError를 호출하여 특정 오류 코드를 검색할 수 있습니다.
오류 코드 | 의미 |
---|---|
이 함수를 사용하기 전에 성공적인 WSAStartup 호출이 발생해야 합니다. |
|
네트워크 하위 시스템이 실패했습니다. |
|
optval 또는 optlen 매개 변수 중 하나는 사용자 주소 공간의 유효한 부분에 없는 메모리를 가리킵니다.
optlen 매개 변수가 가리키는 값이 CSADDR_INFO 구조체의 크기보다 작은 경우에도 이 오류가 반환됩니다. |
|
차단 Windows 소켓 1.1 호출이 진행 중이거나 서비스 공급자가 여전히 콜백 함수를 처리하고 있습니다. |
|
수준 매개 변수가 알 수 없거나 잘못되었습니다. |
|
옵션은 표시된 프로토콜 패밀리에서 알 수 없거나 지원되지 않습니다. |
|
설명자가 소켓이 아닙니다. |
설명
SO_BSP_STATE 소켓 옵션을 사용하여 호출된 getsockopt 함수는 소켓에서 사용하는 로컬 주소, 로컬 포트, 원격 주소, 원격 포트, 소켓 유형 및 프로토콜을 검색합니다. SO_BSP_STATE 소켓 옵션은 IPv6 또는 IPv4 소켓(AF_INET6 및 AF_INET 주소 패밀리)에서 작동합니다.
getsockopt 함수가 성공하면 정보는 optval 매개 변수가 가리키는 버퍼의 CSADDR_INFO 구조로 반환됩니다. optlen이 가리키는 정수는 원래 이 버퍼의 크기를 포함해야 합니다. 반환 시 optval 매개 변수에 반환된 값의 길이(바이트)로 설정됩니다.
반환된 CSADDR_INFO 구조체의 iSocketType 및 iProtocol 멤버는 s 매개 변수의 소켓 설명자에 대해 채워집니다.
소켓이 연결되거나 바인딩된 상태이면 반환된 CSADDR_INFO 구조체의 LocalAddr 멤버가 로컬 주소와 포트를 나타내는 SOCKADDR 구조체로 설정됩니다. 소켓이 연결된 상태이면 반환된 CSADDR_INFO 구조체의 RemoteAddr 멤버가 원격 주소 및 포트를 나타내는 SOCKADDR 구조체로 설정됩니다.
소켓이 연결되거나 바인딩된 상태가 아닌 경우 반환된 CSADDR_INFO 구조체의 LocalAddr 멤버는 lpSockaddr 멤버의 NULL 포인터와 iSockaddrLength 멤버가 0으로 설정된 상태로 반환됩니다. 소켓이 바인딩된 상태가 아닌 경우 반환된 CSADDR_INFO 구조체의 RemoteAddr 멤버는 lpSockaddr 멤버의 NULL 포인터와 iSockaddrLength 멤버가 0으로 설정된 상태로 반환됩니다.
getsockopt 함수가 실패하면 optval 및 optlen 매개 변수는 변경되지 않고 optval 매개 변수는 반환된 CSADDR_INFO 구조를 가리키지 않습니다.
Ws2def.h 헤더 파일은 Winsock2.h에 자동으로 포함되며 직접 사용하면 안 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2008 [데스크톱 앱만 해당] |
헤더 |
|
추가 정보