Freigeben über


LPWSPGETSOCKNAME-Rückruffunktion (ws2spi.h)

Die LPWSPGetSockName-Funktion ruft den lokalen Namen für einen Socket ab.

Syntax

LPWSPGETSOCKNAME Lpwspgetsockname;

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

Parameter

[in] s

Deskriptor, der einen gebundenen Socket identifiziert.

[out] name

Zeiger auf eine Sockaddr-Struktur , die verwendet wird, um die Adresse (Name) des Sockets anzugeben.

[in, out] namelen

Zeigen Sie bei der Eingabe auf eine ganze Zahl, die die Größe der Struktur angibt, auf die mit dem Namen in Bytes verwiesen wird. Gibt in der Ausgabe die Größe des zurückgegebenen Namens in Bytes an.

[out] lpErrno

Zeiger auf den Fehlercode.

Rückgabewert

Wenn kein Fehler auftritt, gibt LPWSPGetSockName null zurück. Andernfalls wird der Wert SOCKET_ERROR zurückgegeben, und ein bestimmter Fehlercode ist in lpErrno verfügbar.

Fehlercode Bedeutung
WSAENETDOWN
Beim Netzwerksubsystem ist ein Fehler aufgetreten.
WSAEFAULT
Der Name oder der namelen-Parameter ist kein gültiger Teil des Benutzeradressraums, oder der namelen-Parameter ist zu klein.
WSAEINPROGRESS
Die Funktion wird aufgerufen, wenn ein Rückruf ausgeführt wird.
WSAENOTSOCK
Der Deskriptor ist kein Socket.
WSAEINVAL
Der Socket wurde mit LPWSPBind nicht an eine Adresse gebunden, oder ADDR_ANY ist in **LPWSPBind** angegeben, aber die Verbindung wurde noch nicht hergestellt.

Hinweise

LPWSPGetSockName ruft den aktuellen Namen für den angegebenen Socketdeskriptor im Namen ab. Sie wird für einen gebundenen und/oder verbundenen Socket verwendet, der durch den s-Parameter angegeben wird. Die lokale Zuordnung wird zurückgegeben. Dieser Aufruf ist besonders nützlich, wenn ein LPWSPConnect-Aufruf ausgeführt wurde, ohne zuerst eine LPWSPBind durchzuführen. da dieser Aufruf das einzige Mittel darstellt, mit dem die lokale Zuordnung bestimmt werden kann, die vom Dienstanbieter festgelegt wurde.

Wenn ein Socket an eine nicht angegebene Adresse gebunden wurde (z. B. ADDR_ANY), die angibt, dass eine der Adressen des Hosts innerhalb der angegebenen Adressfamilie für den Socket verwendet werden soll, gibt LPWSPGetSockNamenicht unbedingt Informationen zur Hostadresse zurück, es sei denn, der Socket wurde mit LPWSPConnect oder LPWSPAccept verbunden. Der Windows Sockets SPI-Client darf nicht davon ausgehen, dass eine Adresse angegeben wird, es sei denn, der Socket ist verbunden. Dies liegt daran, dass für einen multihomed-Host die Adresse, die für den Socket verwendet wird, unbekannt ist, bis der Socket verbunden ist.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile ws2spi.h

Weitere Informationen

LPWSPBind

LPWSPGetPeerName

LPWSPSocket