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 |
---|---|
Der angegebene AddressString-Puffer ist zu klein. Übergeben Sie einen größeren Puffer. | |
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 |