Share via


LPWSPADDRESSTOSTRING-Rückruffunktion (ws2spi.h)

Die LPWSPAddressToString-Funktion konvertiert alle Komponenten einer Sockaddr-Struktur in eine für Menschen lesbare numerische Zeichenfolgendarstellung der Adresse. Dies wird hauptsächlich zu Anzeigezwecken verwendet.

Syntax

LPWSPADDRESSTOSTRING Lpwspaddresstostring;

INT Lpwspaddresstostring(
  [in]      LPSOCKADDR lpsaAddress,
  [in]      DWORD dwAddressLength,
  [in]      LPWSAPROTOCOL_INFOW lpProtocolInfo,
  [out]     LPWSTR lpszAddressString,
  [in, out] LPDWORD lpdwAddressStringLength,
  [out]     LPINT lpErrno
)
{...}

Parameter

[in] lpsaAddress

Zeiger auf eine sockaddr-Struktur , die in eine Zeichenfolge übersetzt werden soll.

[in] dwAddressLength

Länge der Adresse von sockaddr in Bytes.

[in] lpProtocolInfo

(erforderlich) WSAProtocol_Info Struktur, die dem Anbieter zugeordnet ist, der die Übersetzung übernimmt.

[out] lpszAddressString

Puffer, der die lesbare Adresszeichenfolge empfängt.

[in, out] lpdwAddressStringLength

Länge des AddressString-Puffers in Bytes. Gibt die Länge der tatsächlich in den Puffer kopierten Zeichenfolge zurück. Wenn der bereitgestellte Puffer nicht groß genug ist, schlägt die Funktion mit einem bestimmten Fehler von WSAEFAULT fehl, und dieser Parameter wird mit der erforderlichen Größe in Bytes aktualisiert.

[out] lpErrno

Zeiger auf den Fehlercode.

Rückgabewert

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

Fehlercode Bedeutung
WSAEFAULT
Der angegebene AddressString-Puffer ist zu klein. Übergeben Sie einen größeren Puffer.
WSAEINVAL
Die angegebene Adresse ist keine gültige Socketadresse, oder ihre Adressfamilie wird vom Anbieter nicht unterstützt, oder die angegebene lpProtocolInfo verweist nicht auf eine WSAProtocol_Info Struktur, die vom Anbieter unterstützt wird.
 
 

Hinweise

Ein mehrschichtige Dienstanbieter stellt eine Implementierung dieser Funktion bereit, ist aber auch ein Client dieser Funktion, wenn er LPWSPAddressToString der nächsten Ebene in der Protokollkette aufruft. Einige besondere Aspekte gelten für den lpProtocolInfo-Parameter , da er über die Ebenen der Protokollkette nach unten weitergegeben wird.

Wenn die nächste Ebene in der Protokollkette eine andere Ebene ist, muss diese Ebene beim Aufruf des LPWSPAddressToString der nächsten Ebene einen lpProtocolInfo-Parameter an die nächste Ebene übergeben, der auf dieselbe unveränderte WSAProtocol_Info-Struktur mit den gleichen unveränderten Ketteninformationen verweist. Wenn die nächste Ebene jedoch das Basisprotokoll (d. h. das letzte Element in der Kette) ist, führt diese Ebene beim Aufrufen des LPWSPAddressToString des Basisanbieters eine Ersetzung durch. In diesem Fall sollte der lpProtocolInfo-Parameter auf die WSAPROTOCOL_INFO Struktur des Basisanbieters verweisen. Ein wesentlicher Vorteil dieser Richtlinie ist, dass die Basisdienstanbieter keine Protokollketten kennen müssen.

Die gleiche Weitergaberichtlinie gilt beim Verteilen einer WSAProtocol_Info-Struktur über eine mehrschichtige Sequenz anderer Funktionen wie LPWSPDuplicateSocket, WSPStartup, LPWSPSocket oder LPWSPStringToAddress.

Anforderungen

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

Weitere Informationen

WSAProtocol_Info

WSPDucplicateSocket

LPWSPSocket

WSPStartup

sockaddr