Kompatible Namensauflösung für TCP/IP in der Windows Sockets 1.1-API

Hinweis

Alle Windows Sockets 1.1-Funktionen für die Namensauflösung sind spezifisch für IPv4-TCP/IP-Netzwerke. Anwendungsentwicklern wird dringend davon abgeraten, diese transportspezifischen Funktionen, die nur IPv4 unterstützen, weiterhin zu nutzen.

 

Anwendungsentwickler sollten die folgenden Funktionen verwenden, die protokollunabhängig sind und sowohl die IPv6- als auch die IPv4-Namensauflösung unterstützen.

Windows Sockets 1.1 definiert eine Reihe von Routinen, die für die Namensauflösung mit TCP/IP-Netzwerken (IP-Version 4) verwendet werden. Diese werden manchmal als getXbyY-Funktionen bezeichnet und umfassen Folgendes:

Gethostname
gethostbyaddr
Gethostbyname
getprotobyname
getprotobynumber
getservbyname
getservbyport

Asynchrone Versionen dieser Funktionen wurden ebenfalls definiert.

WSAAsyncGetHostByAddr
WSAAsyncGetHostByName
WSAAsyncGetProtoByName
WSAAsyncGetProtoByNumber
WSAAsyncGetServByName
WSAAsyncGetServByPort

Es gibt auch zwei Funktionen, die jetzt im Winsock2.dll implementiert sind, um gepunktete Ipv4-Adressnotation in und aus Zeichenfolgen- bzw. binärdarstellungen zu konvertieren.

inet_addr
inet_ntoa

Um die strikte Abwärtskompatibilität mit Windows Sockets 1.1 beizubehalten, werden alle älteren IPv4-only-Funktionen weiterhin unterstützt, solange mindestens ein Namespaceanbieter vorhanden ist, der die AF_INET Adressfamilie unterstützt (diese Funktionen sind für IP-Version 6 nicht relevant, bezeichnet durch AF_INET6).

Die Ws2_32.dll implementiert diese Kompatibilitätsfunktionen in Bezug auf die neuen protokollunabhängigen Namensauflösungsfunktionen mithilfe einer geeigneten Sequenz von WSALookupServiceBegin/Next/ End-Funktionsaufrufen. Die Details dazu, wie die getXbyY-Funktionen namensauflösungsfunktionen zugeordnet werden, finden Sie unten. Die WSs2_32.dll behandelt die Unterschiede zwischen den asynchronen und synchronen Versionen der getXbyY-Funktionen , sodass nur die Implementierung der synchronen getXbyY-Funktionen erläutert wird.

In diesem Abschnitt wird die kompatible Namensauflösung für TCP/IP in der Windows Sockets 1.1-API beschrieben. In der folgenden Liste werden die Themen in diesem Abschnitt beschrieben:

Protokollunabhängige Namensauflösung

Registrierung und Namensauflösung