SO_BSP_STATE Socketoption

Die SO_BSP_STATE Socketoption gibt die lokale Adresse, den lokalen Port, die Remoteadresse, den Remoteport, den Sockettyp und das Protokoll zurück, die von einem Socket verwendet werden.

Rufen Sie zum Ausführen dieses Vorgangs die Funktion getockopt mit den folgenden Parametern auf.

Wert der Socketoption

Die Konstante, die diese Socketoption darstellt, ist 0x1009.

Syntax

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
);

Parameter

s [in]

Ein Deskriptor, der den Socket identifiziert.

Ebene [in]

Die Ebene, auf der die Option definiert ist. Verwenden Sie für diesen Vorgang SOL_SOCKET .

optname [in]

Die Socketoption, für die der Wert abgerufen werden soll. Verwenden Sie für diesen Vorgang SO_BSP_STATE .

optval [out]

Ein Zeiger auf den Puffer, in dem der Wert für die angeforderte Option zurückgegeben werden soll. Dieser Parameter sollte auf einen Puffer verweisen, der der Größe einer CSADDR_INFO-Struktur entspricht oder größer ist.

optlen [in, out]

Ein Zeiger auf die Größe des Optval-Puffers in Bytes. Diese Größe muss gleich oder größer als die Größe einer CSADDR_INFO-Struktur sein.

Rückgabewert

Wenn der Vorgang erfolgreich abgeschlossen wurde, gibt getsockopt null zurück.

Wenn der Vorgang fehlschlägt, wird der Wert SOCKET_ERROR zurückgegeben, und ein bestimmter Fehlercode kann durch Aufrufen von WSAGetLastError abgerufen werden.

Fehlercode Bedeutung
WSANOTINITIALISED
Vor der Verwendung dieser Funktion muss ein erfolgreicher WSAStartup-Aufruf erfolgen.
WSAENETDOWN
Beim Netzwerksubsystem ist ein Fehler aufgetreten.
WSAEFAULT
Einer der optval - oder optlen-Parameter verweist auf den Speicher, der sich nicht in einem gültigen Teil des Benutzeradressraums befindet. Dieser Fehler wird auch zurückgegeben, wenn der Wert, auf den der optlen-Parameter verweist, kleiner als die Größe einer CSADDR_INFO-Struktur ist.
WSAEINPROGRESS
Ein blockierter Windows Sockets 1.1-Aufruf wird ausgeführt, oder der Dienstanbieter verarbeitet weiterhin eine Rückruffunktion.
WSAEINVAL
Der Levelparameter ist unbekannt oder ungültig.
WSAENOPROTOOPT
Die Option ist unbekannt oder wird von der angegebenen Protokollfamilie nicht unterstützt.
WSAENOTSOCK
Der Deskriptor ist kein Socket.

 

Bemerkungen

Die getockopt-Funktion , die mit der Option SO_BSP_STATE Socket aufgerufen wird, ruft die lokale Adresse, den lokalen Port, die Remoteadresse, den Remoteport, den Sockettyp und das Protokoll ab, die von einem Socket verwendet werden. Die SO_BSP_STATE Socketoption funktioniert mit IPv6- oder IPv4-Sockets (AF_INET6- und AF_INET Adressfamilien).

Wenn die getockopt-Funktion erfolgreich ist, werden die Informationen in einer CSADDR_INFO Struktur im Puffer zurückgegeben, auf den der optval-Parameter verweist. Die ganze Zahl, auf die von optlen verwiesen wird, sollte ursprünglich die Größe dieses Puffers enthalten. Bei der Rückgabe wird die Länge des im optval-Parameter zurückgegebenen Werts in Bytes festgelegt.

Die Elemente iSocketType und iProtocol in der zurückgegebenen CSADDR_INFO Struktur werden für den Socketdeskriptor im s-Parameter ausgefüllt.

Wenn sich der Socket in einem verbundenen oder gebundenen Zustand befindet, wird das LocalAddr-Element der zurückgegebenen CSADDR_INFO-Struktur auf eine SOCKADDR-Struktur festgelegt, die die lokale Adresse und den lokalen Port darstellt. Wenn sich der Socket in einem verbundenen Zustand befindet, wird das RemoteAddr-Element der zurückgegebenen CSADDR_INFO-Struktur auf eine SOCKADDR-Struktur festgelegt, die die Remoteadresse und den Port darstellt.

Wenn sich der Socket nicht in einem verbundenen oder gebundenen Zustand befindet, wird das LocalAddr-Element der zurückgegebenen CSADDR_INFO Struktur mit einem NULL-Zeiger im lpSockaddrdr-Element und dem iSockaddrLength-Member auf 0 festgelegt. Wenn sich der Socket nicht in einem gebundenen Zustand befindet, wird das RemoteAddr-Element der zurückgegebenen CSADDR_INFO-Struktur mit einem NULL-Zeiger im lpSockaddr-Element zurückgegeben, und das iSockaddrLength-Element ist auf 0 festgelegt.

Wenn die getockopt-Funktion fehlschlägt , bleiben die Parameter optval und optlen unverändert, und der optval-Parameter verweist nicht auf eine zurückgegebene CSADDR_INFO-Struktur .

Beachten Sie, dass die Ws2def.h-Headerdatei automatisch in Winsock2.h enthalten ist und nie direkt verwendet werden sollte.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2008 [nur Desktop-Apps]
Header
Ws2def.h (einschließlich Winsock2.h)

Siehe auch

getsockopt

CSADDR_INFO

SOCKADDR