WSADATA Structure

La structure WSADATA a la forme suivante:

struct {WSAData
 nbsp ;  MOT de wVersion ;
    MOT de wHighVersion ;
    char szDescription [WSADESCRIPTIO&N_LEN + 1] ;
    char szSystemStatus [WSASYSSTATUS_LEN + 1] ;
    iMaxSockets court non signé ;
    iMaxUdpDg court non signé ;
    char FAR * lpVendorInfo ;
}

La structure WSADATA est utilisée pour stocker les informations d'initialisation de Windows Sockets retournées par un appel à la fonction globale AfxSocketInit.

Membres

wVersion

La version de la spécification de Windows Sockets que la DLL de Sockets Windows attend l'appelant d'utiliser.

wHighVersion

La version la plus récente de la spécification de Windows Sockets qui soutiennent cette DLL (également codée comme ci-dessus). Normalement c'est le même que wVersion.

szDescription

Une par un NULL chaîne ASCII dans lequel la DLL de Sockets Windows copie une description de la mise en œuvre de Windows Sockets, y compris l'identification du vendeur. Le texte (jusqu'à 256 caractères) peut contenir des caractères, mais les vendeurs sont mis en garde contre y compris le contrôle et la mise en forme des caractères : l'utilisation plus probable qu'une application cela mettra à est pour l'afficher (peut-être tronqué) dans un message d'État.

szSystemStatus

Une par un NULL chaîne ASCII dans lequel la DLL de Sockets Windows copie des renseignements pertinents de statut ou de configuration. La DLL de Sockets Windows doivent utiliser ce champ uniquement si l'information pourrait être utile à l'utilisateur ou appuyer le personnel ; On ne devrait pas considérer comme une extension du champ szDescription.

iMaxSockets

Le nombre maximal de sockets potentiellement accessible à un seul et même processus. Une implémentation Windows Sockets peut fournir un pool global des sockets pour l'allocation à tout processus ; sinon il peut allouer des ressources par processus pour les sockets. Le nombre peut bien refléter la façon dont la DLL de Sockets Windows ou le logiciel de mise en réseau a été configuré. Auteurs de la demande peuvent utiliser ce nombre comme une indication grossière de savoir si la mise en œuvre de Windows Sockets est utilisable par l'application. Par exemple, un serveur X Windows pourrait vérifier iMaxSockets lorsqu'a commencé : si elle est inférieure à 8, l'application affiche un message d'erreur demandant à l'utilisateur de reconfigurer le logiciel réseau. (C'est une situation dans laquelle le texte de szSystemStatus peut-être être utilisé). Évidemment, il n'y a aucune garantie qu'une application particulière peut effectivement allouer iMaxSockets douilles, puisqu'il peut y avoir des autres applications Windows Sockets en usage.

iMaxUdpDg

La taille en octets du plus grand datagramme User Datagram Protocol (UDP) qui peuvent être envoyés ou reçus par une application de Windows Sockets. Si la mise en œuvre n'impose aucune limite, iMaxUdpDg est égale à zéro. De nombreuses implémentations de sockets de Berkeley, il y a une limite implicite de 8192 octets sur les datagrammes UDP (qui sont fragmentés si nécessaire). Une implémentation Windows Sockets peut imposer une limite fondée, par exemple, sur l'allocation des tampons de remontage de fragment. La valeur minimale iMaxUdpDg pour une implémentation Windows Sockets conforme est 512. Notez que, indépendamment de la valeur de iMaxUdpDg, il est déconseillé d'essayer d'envoyer un datagramme de diffusion qui est plus grand que l'unité de Transmission maximale (MTU) pour le réseau. (L'API Windows Sockets ne fournit pas un mécanisme à la découverte de la MTU, mais il faut pas moins de 512 octets).

lpVendorInfo

Extrême pointeur vers une structure de données spécifiques au fournisseur. La définition de cette structure (si fournis) est au-delà de la portée de la spécification de Windows Sockets. Pour plus d'informations, voir Considérations de programmation des Sockets Windows dans la documentation du SDK Win32.

&Notenbsp ;  Dans MFC, la structure WSADATA est retournée par la fonction AfxSocketInit , qui vous appelez dans votre InitInstance fonction. Vous pouvez extraire la structure et les stocker dans votre programme, si vous avez besoin d'utiliser des informations d'elle plus tard.

Voir aussi  ;AfxSocketInit

Index