Microsoft Windows CE 3.0  

WSADATA

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This structure is used to store Windows Sockets initialization data returned by a call to WSAStartup. It contains data about the Winsock.dll implementation.

struct WSAData {
WORD
wVersion
;
WORD
wHighVersion
;
char
szDescription[WSADESCRIPTION_LEN+1]
;
char
szSystemStatus[WSASYSSTATUS_LEN+1]
;
unsigned short
iMaxSockets
;
unsigned short
iMaxUdpDg
;
char *
lpVendorInfo
;};

Members

wVersion
Version of the Windows Sockets specification that the Windows Sockets DLL expects the caller to use. The high-order word specifies the minor version (revision) number; and the low-order word specifies the major version number.
wHighVersion
Highest version of the Windows Sockets specification that this DLL can support, usually the same as wVersion.
szDescription
Null-terminated string into which the Windows Sockets DLL copies a description of the Windows Sockets implementation, including vendor identification. The text — up to 256 characters in length — can contain any characters, but vendors are cautioned against including control and formatting characters. Typically, an application uses this description in a status message.
szSystemStatus
Null-terminated string into which the Windows Sockets DLL copies relevant status or configuration data. The Windows Sockets DLL should use this member only if the data might be useful to the user or support staff; it should not be considered as an extension of the szDescriptionmember.
iMaxSockets
Maximum number of sockets which a single process can potentially open. A Windows Sockets implementation can provide a global pool of sockets for allocation to any process; alternatively it can allocate per-process resources for sockets. The number can well reflect the way in which the Windows Sockets DLL or the networking software was configured. Application writers can use this number as a crude indication of whether the Windows Sockets implementation is usable by the application. For example, an X Windows server might check iMaxSocketswhen first started: if it is less than 8, the application would display an error message instructing the user to reconfigure the networking software. This is a situation in which the szSystemStatustext might be used. Obviously there is no guarantee that a particular application can actually allocate iMaxSocketssockets, since there can be other Windows Sockets applications in use.
iMaxUdpDg
Size, in bytes, of the largest User Datagram Protocol (UDP) datagram that can be sent or received by a Windows Sockets application. If the implementation imposes no limit, iMaxUdpDgis zero. In many implementations of Berkeley sockets, there is an implicit limit of 8192 bytes on UDP datagrams, which are fragmented if necessary. A Windows Sockets implementation can impose a limit based, for instance, on the allocation of fragment reassembly buffers. The minimum value of iMaxUdpDgfor a compliant Windows Sockets implementation is 512. Note that regardless of the value of iMaxUdpDg, it is inadvisable to attempt to send a broadcast datagram which is larger than the Maximum Transmission Unit (MTU) for the network.

The Windows Sockets API does not provide a mechanism to discover the MTU, but it must be no less than 512 bytes.

lpVendorInfo
Long pointer to a vendor-specific data structure. The definition of this structure (if supplied) is beyond the scope of the Windows Sockets specification.

Remarks

WSAStartupassigns the following values to the members of the WSADATAstructure:

WSADATA member Assigned value
wVersion wVersionRequestedparameter value
wHighVersion wVersionRequestedparameter value
szDescription NULL string
szSystemStatus NULL string
iMaxSockets 100
iMaxUdpDg 0
lpVendorInfo NULL

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 1.0 and later Winsock.h    
Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

WSAStartup