WSADATA Struktur

Die WSADATA -Struktur hat folgende form:

struct WSAData {}
 &Nbsp;  WORD wVersion;
    WORD wHighVersion;
    char SzDescription [WSADESCRIPTION_LEN + 1];
    char SzSystemStatus [WSASYSSTATUS_LEN + 1];
    unsigned short iMaxSockets;
    unsigned short iMaxUdpDg;
    char FAR * LpVendorInfo;
}

Die WSADATA Struktur dient zum Speichern von Windows Sockets-Initialisierungsinformationen durch einen Aufruf der AfxSocketInit globalen Funktion zurückgegeben.

Mitglieder

wVersion

Die Version von der Windows Sockets-Spezifikation, die die Windows-Sockets-DLL den Aufrufer verwenden erwartet.

wHighVersion

Die höchste Version der Windows Sockets-Spezifikation, die diese DLL unterstützen kann (auch verschlüsselt wie oben). Normalerweise ist dies das gleiche wie wVersion.

szDescription

Eine Null-terminierte ASCII-Zeichenfolge, das in die Windows-Sockets-DLL eine Beschreibung von der Windows Sockets-Implementierung, einschließlich Verkäufer Identifikation kopiert wird. Der Text (bis zu 256 Zeichen) kann jedes beliebige Zeichen enthalten, aber Anbieter werden gegen einschließlich Kontrolle und Formatierung Zeichen hingewiesen: die am ehesten Verwendung, die eine Anwendung wird dies gesetzt ist (gegebenenfalls gekürzt) angezeigt in einer Statusmeldung.

szSystemStatus

Eine Null-terminierte ASCII-Zeichenkette, das die Windows Sockets-DLL in die relevanten Status- oder Konfigurationsinformationen Informationen kopiert wird. Die Windows Sockets-DLL sollte dieses Feld verwenden, nur, wenn die Informationen möglicherweise nützlich sein, um die Benutzer oder-Mitarbeiter Support; Es sollte nicht als eine Ausdehnung des SzDescription betrachtet werden.

iMaxSockets

Die maximale Anzahl der Sockets, die ein einzelner Prozess potenziell öffnen können. Eine Windows Sockets-Implementierung bieten einen globalen Pool von Sockets für die Zuweisung zu einem Prozess; Alternativ können sie für Sockets pro Prozess Ressourcen zuordnen. Die Zahl kann auch die Art wider, in der die Windows-Sockets-DLL oder die Netzwerksoftware konfiguriert wurde. Anwendungsentwickler können diese Zahl als eine grobe Angabe, ob die Windows Sockets-Implementierung von der Anwendung verwendet werden kann. Z. B. könnte ein X-Windows-Server überprüfen, iMaxSockets beim ersten Start: Wenn es weniger als 8 ist, würde die Anwendung eine Fehlermeldung anweisen den Benutzer die Netzwerksoftware neu konfigurieren angezeigt. (Dies ist eine Situation, in der der SzSystemStatus Text verwendet werden kann.) Offensichtlich gibt es keine Garantie, dass eine bestimmte Anwendung tatsächlich iMaxSockets Sockel, zuweisen kann, da es andere Windows Sockets-Anwendungen verwendet werden können.

iMaxUdpDg

Die Größe in Bytes der größten Datagramm (UDP = User Datagram Protocol), das gesendet oder durch eine Windows Sockets-Anwendung empfangen werden können. Wenn die Anwendung keine Beschränkung auferlegt, ist iMaxUdpDg NULL. In vielen Implementierungen von Berkeley Sockets besteht eine implizite Limit von 8192 Bytes auf UDP-Datagramme (die ggf. fragmentiert sind). Eine Windows Sockets-Implementation kann ein Limit basiert, zum Beispiel über die Zuweisung von Fragment Reassemblierung Puffer verhängen. Der minimale Wert des iMaxUdpDg für eine fähige Windows Sockets-Implementierung ist 512. Beachten Sie, dass unabhängig vom Wert der iMaxUdpDg, es nicht ratsam ist zu versuchen, ein broadcast-Datagramm zu senden, die größer als die maximale Transmission Unit (MTU) für das Netzwerk ist. (Die Windows Sockets-API bietet keinen Mechanismus, um die MTU zu erkennen, aber muss es nicht weniger als 512 Byte.)

lpVendorInfo

Ein weit Zeiger auf eine Datenstruktur herstellerspezifische. Die Definition dieser Struktur (wenn angegeben) wird im Rahmen der Windows Sockets-Spezifikation. Weitere Informationen finden Sie unter Windows Sockets Programmieren Überlegungen in der Win32 SDK-Dokumentation.

Hinweis&Nbsp;  In MFC, ist die WSADATA Struktur zurückgegeben, indem die AfxSocketInit -Funktion, die Sie, in Aufrufen Ihrer InitInstance Funktion. Sie können die Struktur abrufen und speichern Sie es in Ihr Programm, wenn Sie Informationen von ihm später verwenden müssen.

Siehe auch&Nbsp;AfxSocketInit

Index