Struttura WSADATA
La struttura di WSADATA utilizzata per archiviare le informazioni di inizializzazione Windows Sockets restituite da una chiamata alla funzione globale di 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;
};
Parametri
wVersion
La versione della specifica di Windows Sockets che la DLL Windows Sockets prevede che il chiamante di utilizzare.wHighVersion
La versione più recente della specifica di Windows Sockets che questa DLL può supportare (anche codificato come in precedenza).In genere, questo è lo stesso di wVersion.szDescription
Una stringa ASCII con terminazione null in cui la DLL Windows Sockets copia una descrizione dell'implementazione di Windows Sockets, incluso l'id del fornitore.Il testo (fino a 256 caratteri di lunghezza) può contenere tutti i caratteri, ma i fornitori è avvertito da includere il controllo e dei caratteri di formattazione: l'utilizzo più probabile che un'applicazione può essere utilizzata questa classe è per visualizzare (eventualmente SBR) in un messaggio di stato.szSystemStatus
Una stringa ASCII con terminazione null in cui la DLL Windows Sockets copia lo stato o le informazioni di configurazione rilevante.La DLL di Windows Sockets consigliabile utilizzare questo campo solo se le informazioni possono essere utili all'utente o allo staff di supporto; non deve essere considerato come estensione del campo di szDescription .iMaxSockets
Il numero massimo di socket che un singolo processo può potenzialmente aperto.Un'implementazione di Windows Sockets possibile fornire un pool globale sockets per l'allocazione a qualsiasi processo; in alternativa, è possibile allocare risorse di processo per i socket.Il numero può sottintendere correttamente la modalità in cui la DLL Windows Sockets o il software di rete è stato configurato.Gli autori di applicazioni possono utilizzare questo numero un'indicazione grezza di se l'implementazione di Windows Sockets è utilizzabile dall'applicazione.Ad esempio, un server Windows X potrebbe verificare iMaxSockets al primo avvio: se è minore di 8, viene visualizzato un messaggio di errore che indica all'utente riconfigurare il software di rete.Si tratta di una situazione in cui il testo di szSystemStatus potrebbe essere utilizzato.) Ovviamente non è garantito che un'applicazione particolare essere effettivamente allocare sockets di iMaxSockets , poiché possono essere presenti altre applicazioni Windows Sockets in uso.iMaxUdpDg
La dimensione in byte del più ampio datagram (UDP) di User Datagram Protocol) che possa essere inviati o ricevuti da un'applicazione Windows Sockets.Se l'implementazione non impone limite, iMaxUdpDg è zero.In molte implementazioni di socket di Berkeley, esiste un limite implicito a 8192 byte in datagrams di UDP che sono spezzettati se necessario).Un'implementazione di Windows Sockets possibile imporre un limite base, ad esempio, sull'allocazione del buffer di rimontaggio del frammento.Il valore minimo di iMaxUdpDg per un'implementazione conforme Windows Sockets è 512.Si noti che indipendentemente dal valore di iMaxUdpDg, è sconsigliabile da tentare di inviare un datagram trasmissione di dimensione maggiore di Maximum Transmission (MTU) Unit per la rete.(Windows Sockets API non fornisce un meccanismo per individuare il MTU, ma deve essere inferiore a 512 byte.)lpVendorInfo
Un puntatore lontano a una struttura di dati fornitore-specifica.La definizione di questa struttura (se disponibile) è il contesto della specifica di Windows Sockets.
[!NOTA]
In MFC, la struttura di WSADATA viene restituita dalla funzione di AfxSocketInit , che chiama nella funzione di InitInstance .È possibile recuperare la struttura e memorizzarlo nel programma se è necessario utilizzare le informazioni riportate più avanti.
Requisiti
Header: winsock2.h