WSADATA, structure
La structure d' WSADATA est utilisée pour stocker les informations d'initialisation Windows Sockets retournées par un appel à la fonction globale d' AfxSocketInit .
struct WSAData {
WORD wVersion;
WORD wHighVersion;
char szDescription[WSADESCRIPTION_LEN+1];
char szSystemStatus[WSASYSSTATUS_LEN+1];
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char FAR * lpVendorInfo;
};
Paramètres
wVersion
La version de la spécification Windows Sockets que la DLL Windows Sockets s'attend à ce que l'appelant utilise.wHighVersion
La dernière version de la spécification Windows Sockets que cette DLL peut prendre en charge (également encodé comme ci-dessus).Normalement, c'est le même que wVersion.szDescription
Une chaîne ASCII se terminant par null dans laquelle la DLL Windows Sockets copie une description de l'implémentation Windows Sockets, y compris l'ID de fournisseur.Le texte (jusqu'à 256 caractères au total longueur) peut contenir tous les caractères, mais fournisseurs sont avertis par rapport à inclure des caractères de contrôle et de mise en forme : l'utilisation la plus probable qu'une application mettra à ce paramètre la valeur est pour l'afficher (éventuellement tronqué) dans un message d'état.szSystemStatus
Une chaîne ASCII se terminant par null dans laquelle la DLL Windows Sockets copie l'état ou les données de configuration approprié.La DLL Windows Sockets doit utiliser ce champ uniquement si les informations peuvent être utiles à l'utilisateur ou sur des événements de support technique ; il ne doit pas être considéré comme extension du champ de szDescription .iMaxSockets
Le nombre maximal de sockets qu'un seul processus peut potentiellement ouvert.Implémentation Windows Sockets peut fournir un pool global de sockets pour allocation à n'importe quel processus ; sinon, elle peut allouer des ressources par pour les sockets layer).Le nombre peut bien refléter la façon dont la DLL Windows Sockets ou logiciels réseau a été configuré.Les writers d'applications peuvent utiliser ce nombre comme indication brut de si l'implémentation Windows Sockets est utilisable par l'application.Par exemple, un serveur de X Windows peut permettre iMaxSockets lors de le premier démarrage : s'il est inférieur à 8, l'application affiche un message d'erreur indiquant à l'utilisateur reconfigurer le logiciel réseau.(Il s'agit d'une situation dans laquelle le texte de szSystemStatus peut être utilisé.) Évidemment il n'y a aucune garantie qu'une application particulière peut réellement allouer des sockets d' iMaxSockets , parce qu'il peut y avoir d'autres applications Windows Sockets en service.iMaxUdpDg
La taille en octets du plus grand datagramme (UDP) de protocole UDP qui peut être envoyé ou accepté par une application Windows Sockets.Si l'implémentation n'impose aucune limite, iMaxUdpDg est zéro.Dans la plupart des implémentations des sockets de Berkeley, il existe une limite implicite de 8192 octets sur les datagrammes d'UDP (qui sont fragmentés si nécessaire).Implémentation Windows Sockets peut appliquer une limite fixée, par exemple, à l'allocation des mémoires tampon de remontage de fragment.La valeur minimale d' iMaxUdpDg pour une implémentation conforme Windows Sockets est 512.Il note plutôt indépendamment de la valeur d' iMaxUdpDg, il est déconseillé tenter d'envoyer un datagramme diffusé qui est plus grand que l'Unité de (MTU) communication maximale du réseau.(L'API Windows Sockets ne fournit pas de mécanisme pour découvrir MTU, mais elle doit être pas moins de 512 octets.)lpVendorInfo
Un pointeur lointain à une structure de données spécifique au fournisseur.La définition de cette structure (si disponible) n'est pas traitée dans la spécification Windows Sockets.
[!REMARQUE]
Dans MFC, la structure d' WSADATA est retournée par la fonction d' AfxSocketInit , que vous appelez dans la fonction d' InitInstance .Vous pouvez récupérer la structure et l'enregistrer dans votre programme si vous devez utiliser des informations d'elles ultérieurement.
Configuration requise
Header: winsock2.h