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.
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.