|
|
 |

 |
|
Network Programming for Microsoft® Windows®, Second Edition
|
|
 |
Author |
 |
Anthony Jones and Jim Ohlund
|
 |
|
Pages |
608
|
|
Disk |
1 Companion CD(s)
|
|
Level |
All Levels
|
|
Published |
02/13/2002
|
|
ISBN |
9780735615793
|
|
ISBN-10 |
0-7356-1579-9
|
|
Price(USD) |
$59.99
To see this book's discounted price, select a reseller below.
|
|
|
|
|
 |
|
|
Index
Numbers
802.1p, 340
A
accept, 13-16
AcceptEx, 173-77
defined, 173
example of, 174-76
parameters of, 173-74
servers, accepting conditions, 187-88
ACS, QOS policy components, 343
adapter type values, 539
Address Resolution Protocol (ARP), 60, 564. See also ARP.EXE
addressing
IPX/SPX, 94-95
IrSock, 88
.NET Sockets, 466-67
NetBIOS, 99-100
addressing, ATM, 112-16
NNI signaling protocol, 113
setting address types, 113
UNI signaling protocol, 112
addressing, IP, 67-80
IPv4, 58-59, 467
IPv6, 62-66
legacy name resolution, 74-80
name resolution routines, 68-73
simple address conversion, 73-74
Winsock and, 6-9
Advanced Research Project Agency (ARPA), 57
anycast addresses, IPv6, 66
APCs (Asynchronous Procedure Calls), 172
APIPA (Automatic Private IP Addressing), 59
AppleTalk, 102-11
name resolution, 105-10
overview of, 102-3
protocols and parameters, 111
registering AppleTalk names, 103-5
socket options. See SQL_APPLETALK option level
sockets, creating, 110-11
application component requirements, GQOS, 341-43
ARP (Address Resolution Protocol), 60, 564
ARPA (Advanced Research Project Agency), 57
ARP.EXE, 563-66
adding ARP entries, 564-65
ARP.EXE
deleting ARP entries, 565
overview, 563-64
sending ARP requests, 565-66
ASCII, 448
asynchronous mode, RasDial, 516-22
notification methods, 516
operating states, 517-19
asynchronous model, .NET Sockets, 470-73
Asynchronous NetBEUI, 510
Asynchronous Procedure Calls (APCs), 172
ATM (Asynchronous Transfer Mode), 111-19
addressing, 112-16
GQOS and, 380-81
ioctl commands. See ioctl commands
multicasting, 334-36
name resolution, 119
overview of, 111-12
socket address types, 114
sockets, 116-19
ATMADM.EXE utility, 119
Automatic Private IP Addressing (APIPA), 59
B
bandwidth, QOS and, 337
base providers, protocol services, 44, 401
BHLI (Broadband Higher Layer Information), 114-15
big-endian, byte ordering, 7
bind, 11-12, 96
BLLI (Broadband Lower Layer Information), 114-15
blocking mode
I/O socket, 124-27
LSPs and, 428-29
blocking models
I/O sockets, 129
.NET Sockets, 469-70
performance comparisons of, 195-96
Broadband Higher Layer Information (BHLI), 114-15
broadcast addresses, 59
broadcast data, 49
byte ordering, Winsock, 7-9
C
C#, 463, 466
ChainLen field, LSPs, 407
classes, IP addressing, 58
client API functions, Winsock connection-oriented communication
connect, 19-21
setting up connection, 16
clients
I/O models and, 171
IP version-independent programs and, 81-83
CLOSE_WAIT, TCP states, 19
CLOSED, TCP states, 16
closesocket
terminating QOS, 353-54
Winsock connectionless protocols, 37
Winsock connection-oriented protocols, 30
compatibility addresses, IPv6, 65-66
completion port model, 159-68
overlapped I/O, 165-66
overview of, 159-60
performance comparisons of, 196-98
per-handle data and per-I/O operation data, 166-68
scalability of, 172
worker threads, 160-65
completion routines, overlapped model, 154-59
connect, Winsock client APIs, 19-21
ConnectEx, 183-84
defined, 183
parameters of, 183-84
Winsock client APIs, 19
connectionless protocols, Winsock, 30-37
connection-oriented protocols vs., 47-48
message-basis, 36-37
receiver, 31-33
releasing socket resources, 37
sender, 34-36
connection-oriented protocols, Winsock, 10-30
breaking connection, 29-30
client API functions, 16-21
connectionless vs., 47-48
data transmission, 21-26
server API functions, 11-16
stream protocols, 26-29
connections
maximizing, 194
RAS management of, 531-34
setting up, 16
connectivity types, NLA, 304
control flags
name resolution, 291-92
NLA, 301
control plane, multicasting properties, 312
CreateIoCompletionPort function, 161
D
data persistence, NSPs, 457
data plane, multicasting properties, 312-13
data transfers, scalability and, 189-90
data transmission, Winsock connection-oriented communication
recv and WSARecv, 24-26
send and WSASend, 22-23
WSARecvDisconnect, 26
WSASendDisconnect, 23-24
data types, NLA, 303
debugging functions, LSPs, 443-44
DelayVariation field, FLOWSPEC structure, 346
DeleteIpNetEntry, 565
DHCP (Dynamic Host Configuration Protocol), 59
DisconnectEx, Winsock APIs, 184
DLLs, name space, 457-59
DNS names, querying, 296-99
DUN (dial-up networking), 509, 513. See also RAS clients
Dynamic Host Configuration Protocol (DHCP), 59
dynamic name spaces, 276
E
echo requests, ICMP, 391
errors
exception handling, .NET Sockets, 473-74
Visual Basic Winsock control, 501-2
Winsock checking and handling, 4-6
ESTABLISHED, TCP states, 17
event notification
FD_WRITE, 137
overlapped model, 148-54
scalability of, 172
WSAEventSelect model, 139-47
events, Visual Basic Winsock control, 479-80
exception handling, .NET Sockets, 473-74
Extensible Markup Language (XML), 463
external network numbers, 97
F
FD_QOS notifications, 366-67
FD_SET
LSPs and, 429, 432
select model macros and, 131-32
select model parameters and, 130-31
FD_WRITE, event notifications, 137
FEC method, reliable multicasting, 330-31
FIFO (first in first out), 172
FIONBIO, cross platform ioctl commands, 253
FIONREAD, cross platform ioctl commands, 254
FIXED_INFO structure, 536
flags
control flags, name resolution, 291-92
flags
control flags, NLA, 301
GetAdaptersAddresses, 541
IP_ADAPTER_ADDRESSES structure, 543
protocol flags, Winsock catalog, 53-54
service flags, WSASetService, 283-84
ShapeDiscardMode, 355-56
SIO_CHK_QOS, 353
TransmitFile, 180
WSARecvMsg, 186
FLOWSPEC structure
defined, 345
DelayVariation field, 346
functions of, 344
Latency field, 346
MaxSduSize field, 348
MinimumPolicedSize, 348
PeakBandwidth field, 346
ServiceType field, 347-48
TokenBucketSize field, 346
TokenRate field, 345-46
forwarding protocols, 560
G
Generic Packet Classifier (GPC), 342
GetAcceptExSockaddrs, 177-78
defined, 177
example of, 178
parameters of, 178
GetAdaptersAddresses, 540-46
defined, 540
flags, 541
IP_ADAPTER_ADDRESSES structure, 541-46 adapter structures, 544-46
GetAdaptersInfo, 538-40
defined, 538
IP_ADAPTER_INFO structure, fields, 539-40
getaddrinfo
clients, 81-83
protocol-independent name resolution, 67-71
servers, 83-85
GetCallerSocket, LSPs and, 435-36
gethostbyname, legacy name resolution, 75
GetIcmpStatistics, 553-55
GetIpAddrTable, 561-62
GetIpForwardTable, 557-60
GetIpNetTable, 563
GetIpStatistics, 551-53
getnameinfo, name resolution, 67, 72-73
GetNetworkParams, 536-38
defined, 536
FIXED_INFO structure, fields, 536-38
getpeername, Winsock miscellaneous APIs, 37-38
GetQueuedCompletionStatus, 166, 168
getservbyname, legacy name resolution, 77
getservbyport, legacy name resolution, 77
GetService, Winsock 1, 275
getsockname, 38, 96
getsockopt
definition and parameters, 202-3
enumerating IrDA devices, 90
GetTcpStatistics, 555-56
GetTcpTable, 548-50
defined, 548
MIB_TCPTABLE structure, 549-50
GetUdpStatistics, 556-57
GetUdpTable, 550-51
global addresses, IPv6, 64-65
GPC (Generic Packet Classifier), 342
GQOS (Generic Quality of Service), 337-81
ATM and, 380-81
background, 338-44
examples, 371-80
programming techniques, 363-71
provider-specific objects, 354-62
QOS structures, 347-52
QOS-terminating functions, 353-54
GQOS Service Providers, 341-42
graceful close, 48-49
H
headers
ICMP, 385
ICMPv6, pseudo, 386
IP header include option, 393-96
Winsock, 2
high throughput servers, 193-94
host-byte order, 8
HOSTENT structure, 297-99
I
iAddressFamily parameter, 54
IANA (Internet Assigned Numbers Authority), 61
IAS (Information Access Services)
IrDA devices and, 88-89
querying for running services, 92-93
ICMP (Internet Control Message Protocol)
header, 385
IPv4 and, 60
IPv4 vs. IPv6, 385-86
message types, 385-87
Ping utility, 388-92
versions of, 385
ICMPv6 (Internet Control Message Protocol for IPv6), 66
message types, 388
multicast support in, 315
pseudo header, 386
IGMP (Internet Group Management Protocol)
IPv4 and, 60
multicast support in, 315
inet_addr, legacy name resolution, 74-75
inet_ntoa, legacy name resolution, 74
Information Access Services (IAS)
IrDA devices and, 88-89
querying for running services, 92-93
Infrared Data Association. See IrDA
internal network numbers, 97
Internet Assigned Numbers Authority. See IANA
Internet Control Message Protocol. See ICMP
Internet Control Message Protocol for IPv6. See ICMPv6
Internet Group Management Protocol. See IGMP
Internet Packet Exchange/Sequence Packet Exchange. See IPX/SPX
Internet Protocol. See IP
Internet types, NLA, 304
I/O methods
ioctl functions and, 252
LSPs and, 427-28
.NET Sockets, 469-73
Winsock models, 123-70
ioctl commands
ATM specific, 272
FIONBIO, 253
FIONREAD, 254
SIO_ADDRESS_LIST_CHANGE, 265
SIO_ADDRESS_LIST_QUERY, 263-64
SIO_ADDRESS_LIST_SORT, 264-65
SIO_ASSOCIATE_PVC, 273-74
SIOCATMARK, 254-55
SIO_CHK_QOS, 257-58
SIO_ENABLE_CIRCULAR_QUEUEING, 255
SIO_FIND_ROUTE, 256
SIO_FLUSH, 256
SIO_GET_ATM_ADDRESS, 273
SIO_GET_ATM_CONNECTION_ID, 274
SIO_GET_BROADCAST_ADDRESS, 256
SIO_GET_EXTENSION_FUNCTION_POINTER, 257
SIO_GET_INTERFACE_LIST, 265-66
SIO_GET_INTERFACE_LIST_EX, 266-67
SIO_GET_MULTICAST_FILTER, 267
SIO_GET_NUMBER_OF_ATM_DEVICES, 273
SIO_GET_QOS, 258-59
SIO_INDEX_ADD_MCAST, 268
SIO_INDEX_BIND, 268
SIO_INDEX_DEL_MCAST, 268-69
SIO_INDEX_MCASTIF, 268
SIO_KEEPALIVE_VALS, 260
SIO_MULTICAST_SCOPE, 259-60
SIO_MULTIPOINT_LOOPBACK, 259
SIO_NSP_NOTIFY_CHANGE, 269
SIO_QUERY_TARGET_PNP_HANDLE, 269
SIO_RCVALL, 260-61
ioctl commands
SIO_RCVALL_IGMPCAST, 261-62
SIO_RCVALL_MCAST, 261
SIO_ROUTING_INTERFACE_CHANGE, 263
SIO_ROUTING_INTERFACE_QUERY, 262
SIO_SET_MULTICAST_FILTER, 267
SIO_SET_QOS, 259
SIO_UDP_CONNRESET, 269
SO_SSL_GET_CAPABILITIES, 270
SO_SSL_GET_FLAGS, 270
SO_SSL_GET_PROTOCOLS, 271
SO_SSL_PERFORM_HANDSHAKE, 272
SO_SSL_SET_FLAGS, 270-71
SO_SSL_SET_PROTOCOLS, 271
SO_SSL_SET_VALIDATE_CERT_HOOK, 272
Winsock 2 specific, 255-69
ioctl functions. See also ioctl commands
ioctlsocket, 252
WSAIoctl, 252
WSANSPIoctl, 253
ioctlsocket
calling ioctl commands, 253
definition and parameters, 252
IP addressing. See addressing, IP
IP header include option, 393-400
IPv4 and IPv6 headers, 393-94
UDP headers, 394-96
IP Helper APIs, 64, 535-66
ARP.EXE, 563-66
IPCONFIG.EXE, 536-48
NETSTAT.EXE, 548-57
ROUTE.EXE, 557-62
IP (Internet Protocol)
address and name resolution, 67-80
IPv4, 57-61
IPv6, 62-67
version-independent programs, 80-85
Winsock communication over, 6-9
IP multicasting, 314-27
IPv4, reserved addresses, 314
IPv6, reserved addresses, 315
setsockopt function for IPv4, 317-24
setsockopt function for IPv6, 321-24
supported protocols, 315-17
WSAIoctl and, 324-26
WSAJoinLeaf and, 326-27
IP Precedence, 340
IP version-independent programs, writing, 80-85
client side, 81-83
overview, 80-81
server side, 83-85
IP_ADAPTER_ADDRESSES structure
adapter structures, 544-46
fields, 541-43
flags, 543
IP_ADAPTER_INFO structure, 538
IP_ADD_MEMBERSHIP, 231, 317, 320
IP_ADD_SOURCE_MEMBERSHIP, 232, 319-20
IP_BLOCK_SOURCE, 233, 320
IP_DONTFRAGMENT, 234
IP_DROP_MEMBERSHIP, 232, 317-18
IP_DROP_SOURCE_MEMBERSHIP, 233, 319-20
IP_HDRINCL
building protocol headers, 393-96
IPPROTO_IP option level, 227-29
IP_MULTICAST_IF, 230
IP_MULTICAST_LOOP, 231
IP_MULTICAST_TTL, 230-31
IP_OPTIONS, 226-27, 391
IP_PKTINFO, 234
IP_TOS, 229
IP_TTL, 230
IP_UNBLOCK_SOURCE, 233, 321
IPCONFIG.EXE, 58, 536-48
changing IPv4 addresses, 547-48
GetAdaptersInfo, 538-46
GetNetworkParams, 536-38
releasing and renewing IPv4 addresses, 546-47
IPPROTO_IP option level, 225-34
IP_ADD_MEMBERSHIP, 231
IP_ADD_SOURCE_MEMBERSHIP, 232
IP_BLOCK_SOURCE, 233
IP_DONTFRAGMENT, 234
IP_DROP_MEMBERSHIP, 232
IP_DROP_SOURCE_MEMBERSHIP, 233
IP_HDRINCL, 227-29
IP_MULTICAST_IF, 230
IP_MULTICAST_LOOP, 231
IP_MULTICAST_TTL, 230-31
IP_OPTIONS, 226-27
IP_PKTINFO, 234
IP_TOS, 229
IP_TTL, 230
IP_UNBLOCK_SOURCE, 233
IPPROTO_IPV6 option level, 234-38
IPV6_ADD_MEMBERSHIP, IPV6_JOIN_GROUP, 237
IPV6_DROP_MEMBERSHIP, IPV6_LEAVE_GROUP, 237
IPV6_HDRINCL, 235-36
IPV6_MULTICAST_HOPS, 236
IPV6_MULTICAST_IF, 236
IPV6_MULTICAST_LOOP, 236-37
IPV6_PKTINFO, 237-38
IPV6_UNICAST_HOPS, 236
IPPROTO_RM option level, 238-44
RM_ADD_RECEIVE_IF, 241
RM_DEL_RECEIVE_IF, 242
RM_FLUSHCACHE, 239
RM_LATEJOIN, 241
RM_RATE_WINDOW_SIZE, 238
IPPROTO_RM option level
RM_RECEIVER_STATISTICS, 243-44
RM_SEND_WINDOW_ADV_RATE, 242
RM_SENDER_STATISTICS, 240-41
RM_SENDER_WINDOW_ADVANCE_METHOD, 239-40
RM_SET_MCAST_TTL, 243
RM_SET_MESSAGE_BOUNDARY, 239
RM_SET_SEND_IF, 241
RM_USE_FEC, 242-43
IPPROTO_TCP level, 244-45
iProtocol parameter, 54
IPv4, 57-61
addressing, 58-61, 546-48, 563
IP header include option, 393-94
management protocols, 60
overview, 57
protocol statistics, retrieving, 551-57
reserved multicast addresses, 314
setsockopt function, 317-21, 323-24
socket options. See IPPROTO_IP option level
Winsock communication over, 6-9
IPv6
addressing, 62-67
IP header include option, 393-94
management protocols, 66
reserved multicast addresses, 315
setsockopt function, 321-24
socket options. See IPPROTO_IPV6 option level
IPV6_ADD_MEMBERSHIP, 237, 321
IPV6_DROP_MEMBERSHIP, 237, 321, 323
IPV6_HDRINCL, 235-36, 393
IPV6_JOIN_GROUP, 237
IPV6_LEAVE_GROUP, 237
IPV6_MULTICAST_HOPS, 236
IPV6_MULTICAST_IF, 236, 324
IPV6_MULTICAST_LOOP, 236-37
IPV6_PKTINFO, 237-38
IPV6_UNICAST_HOPS, 236
IPV6.EXE, 63, 535
IPX packet types, setting through Winsock, 97-98
IPX_ADDRESS, 247-48
IPX_ADDRESS_NOTIFY, 249-50
IPX_DSTYPE, 246
IPX_EXTENDED_ADDRESS, 246
IPX_FILTERTYPE, 245-46
IPX_GETNETINFO, 248
IPX_GETNETINFO_NORIP, 248
IPX_IMMEDIATESPXACK, 251
IPX_MAX_ADAPTER_NUM, 250-51
IPX_MAXSIZE, 247
IPX_PTYPE, 245
IPX_RECEIVE_BROADCAST, 251
IPX_RECVHDR, 247
IPX_RERIPNETNUMBER, 251
IPX_SPXGETCONNECTIONSTATUS, 249
IPX_STOPFILTERTYPE, 246
IPX/SPX (Internet Packet Exchange/Sequence Packet Exchange), 94-98
addressing, 94-95
name resolution, 98
network numbers vs. internal network numbers, 97
overview of, 94
setting packet types through Winsock, 97-98
socket options. See NSPROTO_IPX option level
sockets, binding, 96-97
sockets, creating, 95-96
IrDA (Infrared Data Association). See also IrSock
enumerating devices, 89-92
name resolution and, 88
socket options. See SQL_IRLMP option level
IRLMP_9WIRE_MODE, 220
IRLMP_ENUMDEVICES, 221-22
IRLMP_EXCLUSIVE_MODE, 222
IRLMP_IAS_QUERY, 222-23
IRLMP_IAS_SET, 223-25
IRLMP_IRLPT_MODE, 225
IRLMP_SEND_PDU_LEN, 225
IrSock (Infrared sockets), 87-94
addressing, 88
creating clients and servers, 91-92
enumerating IrDA devices, 89-92
name resolution, 88-89
overview of, 87-94
querying IAS, 92-93
sockets, creating, 93
sockets, options, 94. See also SQL_IRLMP option level
iSocketType parameter, 54
L
L2TP (Layer 2 Tunneling Protocol), 510
LANA numbers, NetBIOS, 98, 100-102
Latency field, FLOWSPEC structure, 346
Layer 2 signaling, QOS networking components, 340-41
Layer 2 Tunneling Protocol (L2TP), 510
layered service providers. See LSPs
legacy name resolution, 74-80
libraries, Winsock, 2
link-local addresses, IPv6, 64
listen, Winsock server APIs, 12-13
little-endian, byte ordering, 7
local addresses, site-local and link-local, 64
Local Policy Module (LPM), 343
Local Security Authentication Server System (LSASS), 410
Logical Service Access Point Selectors (LSAP), 88-89
LPM (Local Policy Module), 343
LSAP (Logical Service Access Point Selectors), 88-89
LSASS (Local Security Authentication Server System), 410
LSPs (layered service providers), 44, 402-45
architecture of, 404
blocking and nonblocking sockets, 428-29
creating sockets for, 419-27
debugging, 443-44
example of, 444-45
handling I/O, 427-28
initializing, 414-19
installing, 406-11
modifying, 413
overlapped I/O and, 436-42
overview of, 402-6
removing, 412-13
select and WSPSelect, 429-33
transport service providers and, 401
Winsock-specific extension functions, 442
WSAAsyncSelect, 433-36
WSAEventSelect, 436
WSPAddressToString and WSPStringToAddress, 443
WSPGetSockOpt, 442
WSPIoctl, 443
WSPJoinLeaf, 443
WSPSetSockOpt, 443
M
MAC addresses, 563
management protocols
IPv4, 60
IPv6, 66
marshalling data, 459
MaxSduSize field, FLOWSPEC structure, 348
message notification, WSAAsyncSelect, 134-39
message-based protocols, 36-37, 45-46
MIB_ICMP structure, 553-55
MIB_IPADDRTABLE structure, 561-62
MIB_IPFORWARDTABLE structure, 558-60
MIB_IPNETROW structure, 564
MIB_IPNETTABLE structure, 563
MIB_IPSTATS structure, 551-53
MIB_TCPSTATS structure, 555-56
MIB_TCPTABLE structure, 549-50
MIB_UDPSTATS structure, 556-57
MIB_UDPTABLE structure, 550
Microsoft Generic Quality of Service. See GQOS
Microsoft Message Queueing (MSMQ), 327
Microsoft Windows. See Windows platforms
MinimumPolicedSize, FLOWSPEC structure, 348
MLD (Multicast Listener Discovery)
IPv6, 66
managing multicast membership with, 315-16
MSMQ (Microsoft Message Queueing), 327
MSTCPIP.H, 255
MSWSOCK.DLL, 43, 172
MSWSOCK.H, 172
multicast addresses, 314-15
IPv4, 59, 314
IPv6, 66, 315
Multicast Listener Discovery. See MLD (Multicast Listener Discovery)
multicasting, 311-36
ATM multipoint, 334-36
IP multicasting, 314-27
multicast data, 49
multicast properties, 313
QOS and, 365-66
reliable multicasting, 327-34
semantics, 312-13
N
Nagle algorithm, 46
Name Binding Protocol (NBP), 102
name registration, 278-90. See also name resolution
background of, 275-76
example, 287-90
name space models and, 276-78
service class installation, 279-82
WSASetService function, 283-87
name resolution, 290-310. See also name registration
AppleTalk, 105-10
ATM, 119
background of, 275-76
control flags, 291-92
DNS queries, 296-99
forming a query, 293-96
IP protocol, 67-80
IPX/SPX, 98
IrSock, 88-89
name space models and, 276-78
.NET Sockets, 468
NLA queries, 299-310
overview of, 290-92
name space providers. See NSPs
name spaces, 276-78
common examples, 276
enumerating, 277-78
installing, 459-60
querying, 461
services, 460-61
types of, 276-77
NATs (network address translators), 62
NBP (Name Binding Protocol), 102
ND (Neighbor Discovery), 66
Neighbor Discovery (ND), 66
.NET Framework, 463
.NET Sockets, 463-74
addressing protocols, 466-67
.NET Sockets
example of, 474
exception handling, 473-74
I/O methods, 469-73
methods, 465
name resolution, 468
properties and descriptions, 464-65
sending/receiving data, 469
NetBIOS, 98-102
addressing, 99-100
overview of, 98-99
sockets, creating, 100-102
NETSH.EXE, 63
NETSTAT.EXE, 548-57
retrieving IPv4 protocol statistics, 551-57
retrieving TCP connection table, 548-50
retrieving UDP listener table, 550-51
network address translators (NATs), 62
network component requirements, GQOS, 339-41
network event types, WSAAsyncSelect model, 135
network numbers, external vs. internal, 97
network-byte order, 8
NLA, querying, 299-310
connectivity types, 304
control flags, 301
data types, 303
Internet types, 304
NNI signaling protocol, 113
node type values, 537
non-blocking mode
I/O socket, 127-29
LSPs and, 428-29
non-blocking models, performance comparisons, 195-96
non-rooted control plane, 312
non-rooted data plane, 313
notification methods
event notification, 139-54, 172
I/O completion notification, 166, 168
message notification, 134-39
QOS notifications, 366-69
RasDial asynchronous, 516
NSPCleanup, 450
NSPGetServiceClassInfo, 451-52
NSPInstallServiceClass, 450-51
NSPIoctl, 454-56
NSPLookupServiceBegin, 452-53
NSPLookupServiceEnd, 454
NSPLookupServiceNext, 453-54
NSPRemoveServiceClass, 451
NSPROTO_IPX option level, 245-50
IPX_ADDRESS, 247-48
IPX_ADDRESS_NOTIFY, 249-50
IPX_DSTYPE, 246
IPX_EXTENDED_ADDRESS, 246
NSPROTO_IPX option level
IPX_FILTERTYPE, 245-46
IPX_GETNETINFO, 248
IPX_GETNETINFO_NORIP, 248
IPX_IMMEDIATESPXACK, 251
IPX_MAX_ADAPTER_NUM, 250-51
IPX_MAXSIZE, 247
IPX_PTYPE, 245
IPX_RECEIVE_BROADCAST, 251
IPX_RECVHDR, 247
IPX_RERIPNETNUMBER, 251
IPX_SPXGETCONNECTIONSTATUS, 249
IPX_STOPFILTERTYPE, 246
NSPs (name space providers), 445-62
examples, 457-62
implementing, 447-56
installing, 446-47
overview of, 445-46
NSPSetService, 452
NSPStartup, 449-50
NTSD (NT Symbolic Debugger), 444
O
object types, provider-specific, 354-55
OOB (out-of-band) data, 23-24
ordering, protocol design and, 47-48
out-of-band (OOB) data, 23-24
overlapped model, 147-59
completion port model and, 165-66
completion routines, 154-59
event notification, 148-54
LSPs and, 436-42
overview of, 147-48
performance comparisons of, 196-97
scalability of, 172
P
packet scheduler, 342
packet shaper, 342
partial messages, message-based protocols, 50
PATH messages
parameters of, 363
QOS and, 338-39
PE (Policy Element), 344
PeakBandwidth field, FLOWSPEC structure, 346
performance comparison, server strategies, 194-98
persistent name spaces, 276-77
PGM (Pragmatic General Multicasting), 327
phonebook, RAS, 523-31
adding entries, 525-28
deleting entries, 528
managing user credentials, 528-31
RASENTRY structure, 523-25
Ping utility, 388-92
point-to-multipoint, 311. See also multicasting
Point-to-Point (PPP), 510
Point-to-Point Tunneling Protocol (PPTP), 510
policy component requirements, GQOS, 343-44
Policy Element (PE), 344
ports, assigning, 61
PPP (Point-to-Point), 510
PPTP (Point-to-Point Tunneling Protocol), 510
Pragmatic General Multicasting (PGM), 327
Programming Applications for Microsoft Windows, 4th Edition (Rich.ter), 447
programming techniques, GQOS
PATH and RESV RSVP messages, 363-64
QOS notifications, 366-69
QOS templates, 369-71
RSVP and socket types, 364-66
protocol characteristics, Winsock
broadcast data, 49
connection-oriented vs. connectionless, 47-48
graceful close, 48-49
message-based, 45-46
multicast data, 49
partial messages, 50
pseudo stream, 47
QOS, 50
reliability and ordering, 48
routing considerations, 50-51
stream-oriented, 46-47
protocol flags, Winsock catalog, 53-54
protocol service providers, 44
PROTOENT structure, 79
providers. See LSPs; NSPs; protocol service providers
ProviderSpecific field, QOS structure, 354. See also provider-specific objects
provider-specific objects, GQOS, 354-62
list of, 354-55
QOS_DESTADDR, 356
QOS_SD_MODE, 355-56
RSVP_ADPEC, 361-62
RSVP_DEFAULT_STYLE, 358
RSVP_FIXED_FILTER_STYLE, 358-59
RSVP_POLICY_INFO, 362
RSVP_RESERVE_INFO, 357-58
RSVP_SHARED_EXPLICIT_STYLE, 359-61
RSVP_STATUS_INFO, 356-57
RSVP_WILDCARD_STYLE, 359
pseudo stream protocols, 47
Q
QOS notifications, 366-69
FD_QOS notifications, 366-67
RSVP notifications, 367-68
WSA_QOS_REQUEST_CONFIRMED, 369
WSA_QOS_SENDERS, WSA_QOS_NO_SENDERS, 369
QOS (quality of service). See also GQOS
AppleTalk and, 111
definition and overview, 50
QOS templates, 369-71
QOS_DESTADDR, 356
QOS_SD_MODE, 355-56
querying services. See name resolution
R
RAS clients, 509-11
RAS (Remote Access Service), 509-34
compiling and linking RAS applications, 511-12
connection management, 531-34
data structures and compatibility issues, 512-13
DUN 1.3 upgrade and, 513
RAS client, 509-11
RAS phonebook, 523-31
RasDial, 513-23
VPN and, 534
RASAPI32.LIB, 511
RASCN_Connection, 521
RASCN_Disconnection, 522
RasConnectionNotification, 521
RASCREDENTIALS structure, 529
RasDeleteEntry, 528
RasDial, 513
asynchronous mode, 516-22
closing connections, 522-23
synchronous mode, 514-16
RASENTRY structures, 523-25
RasEnumConnections, 531
RASERROR.H, 511
RasGetCredentials, 529
RasGetEntryProperties, 525
RasGetErrorString, 512
RasGetProjectionInfo, 531
RAS.H, 511
RasHangUp, 522
RASPROJECTION enumeration type, 532
RasSetEntryProperties, 525
raw sockets
creating, 383-85
ICMP, 385-92
ICMPv6, 386, 388
IP header include option, 393-400
overview of, 383
Traceroute utility and, 392-93
Receive, .NET Sockets, 469
ReceiveFrom, .NET Sockets, 469
recv, Winsock, 24-26
recvfrom, Winsock, 31-32
reliability, protocol design and, 47-48
reliable multicasting, 327-34
overview, 327-28
reliable receiver, 332-34
reliable sender, 328-31
socket options. See IPPROTO_RM option level
reliable receivers, 332-34
reliable senders, 328-31
establishing, 328-30
FEC method, 330-31
modifying window size, 330
Remote Access Service. See RAS
resource management, 190-92
RESV messages
parameters of, 363
QOS and, 339
RM_ADD_RECEIVE_IF, 241
RM_DEL_RECEIVE_IF, 242
RM_FLUSHCACHE, 239
RM_LATEJOIN, 241
RM_RATE_WINDOW_SIZE, 238
RM_RECEIVER_STATISTICS, 243-44
RM_SEND_WINDOW_ADV_RATE, 242
RM_SENDER_STATISTICS, 240-41
RM_SENDER_WINDOW_ADVANCE_METHOD, 239- 40
RM_SET_MCAST_TTL, 243
RM_SET_MESSAGE_BOUNDARY, 239
RM_SET_SEND_IF, 241
RM_USE_FEC, 242-43
RNR (Winsock Registration and Name Resolution), 67, 448- 49
RNRSERVICE_DELETE flags, 284
RNRSERVICE_DEREGISTER flags, 284
RNRSERVICE_REGISTER flags, 284
rooted control plane, 312
rooted data plane, 313
ROUTE.EXE, 557-62
adding routes, 561-62
deleting routes, 562
getting routing table, 557-60
routing considerations, Winsock protocols, 50-51
Routing Table Maintenance Protocol (RTMP), 103
RSVP
function of, 338
multicast and, 365-66
QOS and, 338-39
QOS notifications and, 367-68
Unicast TCP and, 365
Unicast UDP and, 364-65
RSVP_ADPEC, 361-62
RSVP_DEFAULT_STYLE, 358
RSVP_FIXED_FILTER_STYLE, 358-59
RSVP_POLICY_INFO, 362
RSVP_RESERVE_INFO, 357-58
RSVP_SHARED_EXPLICIT_STYLE, 359-61
RSVP_STATUS_INFO, 356-57
RSVP_WILDCARD_STYLE, 359
RTMP (Routing Table Maintenance Protocol), 103
S
SAPs (service access points), 117-19
SBM (Subnet Bandwidth Manager), 341
scalability, Winsock applications, 171-99
AcceptEx, 173-77
ConnectEx, 183-84
DisconnectEx, 184
GetAcceptExSockaddrs, 177-78
I/O models and, 172
overview of, 171
resource management, 190-92
server strategies, 192-98
servers, 187-90
Sockets Direct Protocol, 199
TransmitFile, 178-81
TransmitPackets, 181-82
Winsock Direct, 198
WSARecvMsg, 185-87
scatter-gather I/O, 28-29
Secure Sockets Layer (SSL), 270
Select model, .NET Sockets, 470
select model, Winsock, 129-33
fd_set macros, 131-32
fd_set parameters, 130-31
LSPs and, 429-33
overview, 129-30
send function, Winsock, 22-23
Send method, .NET Sockets, 468
SendTo method, .NET Sockets, 469
sendto, Winsock, 34-36
Sequence Packet Exchange (SPX), 94. See also IPX/SPX
serial framing protocols, 510
Serial Line Internet Protocol (SLIP), 510
SERVENT structure, 77
Server APIs, connection-oriented
accepting connections, 13-16
binding, 11-12
listening, 12-13
server side, IP version-independent programs, 83-85
servers
I/O models and, 171
scalability, 187-90
strategies, 192-98
service access points (SAPs), 117-19
service classes, installing, 279-82. See also name registration
example, 281-82
service ID macros, 280
service types, 280
WSAInstallServiceClass, 279-81
service flags, WSASetService, 283-84
service ID macros, 280
Service Provider Interface. See SPI
service providers. See protocol service providers
service types, 280
ServiceType field, FLOWSPEC structure, 347-48
SetIpNetEntry, 564
SetService, Winsock 1, 275
setsockopt
definition and parameters, 202-3
IP multicasting for IPv4, 317-21, 323-24
IP multicasting for IPv6, 321-23, 324
ShapeDiscardMode field, QOS structure, 355-56
shutdown
terminating QOS, 353-54
Winsock, 29-30
SIO_ADDRESS_LIST_CHANGE, 265
SIO_ADDRESS_LIST_QUERY, 64, 263-64
SIO_ADDRESS_LIST_SORT, 264-65
SIO_ASSOCIATE_PVC, 273-74
SIO_CHK_QOS, 257-58, 353
SIO_ENABLE_CIRCULAR QUEUEING, 255
SIO_FIND_ROUTE, 256
SIO_FLUSH, 256
SIO_GET_ATM_ADDRESS, 273
SIO_GET_ATM_CONNECTION_ID, 274
SIO_GET_BROADCAST_ADDRESS, 256
SIO_GET_EXTENSION_FUNCTION_POINTER, 257
SIO_GET_INTERFACE_LIST, 265-66
SIO_GET_INTERFACE_LIST_EX, 266-67
SIO_GET_MULTICAST_FILTER, 267, 326
SIO_GET_NUMBER_OF_ATM_DEVICES, 273
SIO_GET_QOS, 258-59
SIO_INDEX_ADD_MCAST, 268
SIO_INDEX_BIND, 268
SIO_INDEX_DEL_MCAST, 268-69
SIO_INDEX_MCASTIF, 268
SIO_KEEPALIVE_VALS, 260
SIO_MULTICAST_SCOPE, 259-60
SIO_MULTIPOINT_LOOPBACK, 259
SIO_NSP_NOTIFY_CHANGE, 269
SIO_QUERY_TARGET_PNP_HANDLE, 269
SIO_RCVALL, 260-61
SIO_RCVALL_IGMPCAST, 261-62
SIO_RCVALL_MCAST, 261
SIO_ROUTING_INTERFACE_CHANGE, 263
SIO_ROUTING_INTERFACE_QUERY, 262
SIO_SET_MULTICAST_FILTER, 267, 324
SIO_SET_QOS, 259
SIO_UDP_CONNRESET, 269
SIOCATMARK, 254-55
site-local addresses, IPv6, 64-65
SLIP (Serial Line Internet Protocol), 510
SO_ACCEPTCONN, 203
SO_BROADCAST, 203-4
SO_CONDITIONAL_ACCEPT, 204-5
SO_CONFIRM_NAME, 215
SO_CONNECT_TIME, 205
SO_DEBUG, 205-6
SO_DEREGISTER_NAME, 215
SO_DONTLINGER, 206
SO_DONTROUTE, 206-7
SO_ERROR, 207
SO_EXCLUSIVEADDRUSE, 207
SO_GETLOCALZONES, 217
SO_GETMYZONE, 216
SO_GETNETINFO, 218
SO_GETZONELIST, 217
SO_KEEPALIVE, 208
SO_LINGER, 208-9
SO_LOOKUP_MYZONE, 216
SO_LOOKUP_NAME, 216
SO_LOOKUP_NETDEF_ON_ADAPTER, 218
SO_LOOKUP_ZONES, 217
SO_LOOKUP_ZONES_ON_ADAPTER, 217
SO_MAX_MSG_SIZE, 210
SO_OOBINLINE, 210
SO_OPENTYPE, 210
SO_PAP_GET_SERVER_STATUS, 218-19
SO_PAP_PRIME_READ, 219
SO_PAP_SET_SERVER_STATUS, 219
SO_PROTOCOL_INFO, 211
SO_RCVBUF, 211
SO_RCVTIMEO, 212
SO_REGISTER_NAME, 220
SO_REMOVE_NAME, 215
SO_REUSEADDR, 212-13
SO_SNDBUF, 213
SO_SNDTIMEO, 213-14
SO_SSL_GET_CAPABILITIES, 270
SO_SSL_GET_FLAGS, 270
SO_SSL_GET_PROTOCOLS, 271
SO_SSL_PERFORM_HANDSHAKE, 272
SO_SSL_SET_FLAGS, 270-71
SO_SSL_SET_PROTOCOLS, 271
SO_SSL_SET_VALIDATE_CERT_HOOK, 272
SO_TYPE, 214
SO_UPDATE_ACCEPT_CONTEXT, 214-15
SOCK_RAW, 383. See also raw sockets
SOCKADDR_IN, 7, 60-61
SOCKADDR_IN6, 66-67
SOCKADDR_STORAGE structure, 80-81
socket function
creating raw sockets, 383
parameters, 54-55
socket models, I/O
blocking model, 129
client/server development, 171
completion port model, 159-68
overlapped model, 147-59
socket models, I/O
select model, 129-33
WSAAsyncSelect model, 133-39
socket modes, I/O
blocking mode, 124-27
nonblocking mode, 127-29
socket options
getsockopt and setsockopt function, 202-3
ioctl functions. See ioctl functions
IPPROTO_IP level. See IPPROTO_IP option level
IPPROTO_IPV6 level. See IPPROTO_IPV6 option level
IPPROTO_RM level. See IPPROTO_RM option level
IPPROTO_TCP level, 244-45
list of, 201
non-protocol specific. See SQL_SOCKET option level
NSPROTO_IPX level. See NSPROTO_IPX option level
SQL_APPLETALK level. See SQL_APPLETALK option level
SQL_IRLMP level. See SQL_IRLMP option level
SQL_SOCKET level. See SQL_SOCKET option level
Windows platforms and, 201
SOCKET_ERROR, 4
sockets
AppleTalk, creating for, 110-11
ATM, 116-19
creating, 54-55
IPX/SPX, 95-97
IrSock, 93-94
LSPs, creating for, 419-27
NetBIOS, creating for, 100-102
overview of, 9-10
SPI (Service Provider Interface)
API prefixes, 402
architecture of, 402
layered service providers. See LSPs
name space providers. See NSPs
SPX (Sequence Packet Exchange), 94. See also IPX/SPX
SQL_APPLETALK option level, 215-20
SO_CONFIRM_NAME, 215
SO_DEREGISTER_NAME, SO_REMOVE_NAME, 215
SO_LOOKUP_MYZONE, SO_GETMYZONE, 216
SO_LOOKUP_NAME, 216
SO_LOOKUP_NETDEF_ON_ADAPTER, SO_GETNETINFO, 218
SO_LOOKUP_ZONES, SO_GETZONELIST, 217
SO_LOOKUP_ZONES_ON_ADAPTER, SO_GETLOCALZONES, 217
SO_PAP_GET_SERVER_STATUS, 218-19
SO_PAP_PRIME_READ, 219
SO_PAP_SET_SERVER_STATUS, 219
SO_REGISTER_NAME, 220
SQL_IRLMP option level, 220-25
IRLMP_9WIRE_MODE, 220
IRLMP_ENUMDEVICES, 221-22
SQL_IRLMP option level
IRLMP_EXCLUSIVE_MODE, 222
IRLMP_IAS_QUERY, 222-23
IRLMP_IAS_SET, 223-25
IRLMP_IRLPT_MODE, 225
IRLMP_SEND_PDU_LEN, 225
SQL_SOCKET option level, 203-15
SO_ACCEPTCONN, 203
SO_BROADCAST, 203-4
SO_CONDITIONAL_ACCEPT, 204-5
SO_CONNECT_TIME, 205
SO_DEBUG, 205-6
SO_DONTLINGER, 206
SO_DONTROUTE, 206-7
SO_ERROR, 207
SO_EXCLUSIVEADDRUSE, 207
SO_KEEPALIVE, 208
SO_LINGER, 208-9
SO_MAX_MSG_SIZE, 210
SO_OOBINLINE, 210
SO_OPENTYPE, 210
SO_PROTOCOL_INFO, 211
SO_RCVBUF, 211
SO_RCVTIMEO, 212
SO_REUSEADDR, 212-13
SO_SNDBUF, 213
SO_SNDTIMEO, 213-14
SO_TYPE, 214
SO_UPDATE_ACCEPT_CONTEXT, 214-15
SSL ioctl commands. See ioctl commands
SSL (Secure Sockets Layer), 270
static name spaces, 276
stream-based protocols, 26-28, 46-47
Subnet Bandwidth Manager (SBM), 341
synchronous mode, RasDial, 514-16
system architecture, Winsock, 43-45
System.NET.DNS class, 468
System.NET.Enpoint class, 466
System.NET.IPAddress class, 467
System.Net.Sockets, 463. See also .NET Sockets
System.Net.Sockets.SocketException, 473
System.ObjectDisposedException, 473
T
TAPI (Telephony Application Programming Interface), 511
TC API, QOS application components, 342-43
TC (traffic control) module, 342
TCP (Transmission Control Protocol)
connection states, 549-50
connection table, retrieving, 548-50
GGOS example for, 371-80
IP addressing and, 6-7
OOB data in, 23-24
QOS and, 365
socket options, IPPROTO_TCP, 244-45
TCP (Transmission Control Protocol)
states, 16-19
Visual Basic Winsock control, 489-500
TCP_NODELAY, 244-45
TCP/IP: Architecture, Protocols, and Implementation with IPv6 and IP Security (Feit), 488
TCP/IP Illustrated, Volume 1 (Stevens), 387-88, 487
TCP/IP, multicast support in, 315
TDI (Transport Driver Interface), 44
Telephony Application Programming Interface (TAPI), 511
TIME_WAIT, TCP states, 17-18
TokenBucketSize field, FLOWSPEC structure, 346
TokenRate field, FLOWSPEC structure, 345-46
Traceroute utility, 392-93
traffic control (TC) module, 342
TransmitFile, 178-81
defined, 179
flags, 180
parameters of, 179-81
sending data and, 190
TransmitPackets, 190
defined, 181
parameters of, 181-82
sending data and, 181-82
Transport Driver Interface (TDI), 44
transport service providers. See also LSPs
API functions of, 404-5
types of, 401
TTL (time to live) parameters, 316
tunneling protocols, 510
U
UDP (User Datagram Protocol)
GGOS example for, 380
IP addressing and, 6-7
listener table, retrieving, 550-51
QOS and, 364-65
Visual Basic Winsock control, 480-88
Understanding IPv6 (Davies), 62
UNI signaling protocol, 112
unicast addresses
IPv4, 59
IPv6, 64-66
TCP and, 365
UDP and, 364-65
UNICODE, 448
U.S. Department of Defense, 57
V
VBCE (Visual Basic Toolkit for Windows CE), 502, 508
VCs (virtual connections), 111
virtual connections (VCs), 111
Virtual Private Networking (VPN), 509, 534
Visual Basic, 463
Visual Basic Toolkit for Windows CE (VBCE), 502, 508
Visual Basic Winsock control, 475-508
common errors, 501-2
events, 479-80
functions of, 475-76
limitations of, 500-501
methods, 478-79
properties, 476-78
socket states, 478
TCP example, 489-500
UDP example, 480-88
Windows CE, 502-8
VPN (Virtual Private Networking), 509, 534
W
Win64, 54
Windows platforms
ATM programming support, 380
blocking and non-blocking socket modes, 122-27
GQOS programming techniques, 363
IGMP multicasting support, 316-17
internal network numbers, 97
ioctl commands, 253, 255
IP Helper APIs, 535
IPX support, 94
IrDA socket options, 220
IrSock and, 87
multicasting, 311
NetBIOS support, 99
QOS and, 337
RAS and, 509, 511-12
reliable multicasting, 327-28
socket models and, 124
socket options and, 201
SSL-specific ioctl commands and, 270
Windows 95, DUN 1.3 upgrade, 513
Windows CE, 2, 39-40, 87, 502-8
Windows NT, scalable applications for, 171
Windows XP, 299
WINIPCFG.EXE and, 535
Winsock and, 3-4, 44
WINIPCFG.EXE, 535
Winsock. See also Winsock design
ATM programming from, 380
connectionless communication, 30-37
connection-oriented communication, 10-30
error checking and handling, 4-6
headers and libraries, 2
initializing, 2-4
IP addressing, 6-9, 60-61
overview of, 1-2
QOS and, 344
Winsock
scatter-gather I/O, 28-29
sockets, creating, 9-10
versions of, 2
Windows platforms and, 3-4, 39-40, 44
Winsock 1, 275
Winsock 2
enumerating name spaces with, 277
ioctl commands. See ioctl commands
name registration and resolution, 275
overlapped model and, 147
SPI (Service Provider Interface). See SPI
Winsock catalog, 51-55
multiple LSPs, 413
overview of, 51-54
protocol flags, 53-54
Winsock control. See Visual Basic Winsock control
Winsock design
protocol characteristics, 45-50
sockets, creating, 54-55
system architecture, 43-45
Win64 and, 54
Winsock catalog, 51-55
Winsock Direct, 198
Winsock Information, 486, 498
WINSOCK2.H, 43, 201, 255
WINSOCK.H, 201
Winsock-specific extension functions, LSPs and, 442
WINVER, 512
worker threads, completion port model, 160-65
WPUCloseSocketHandle, 427
WPUCreateSocketHandle, 420-21, 427
WPUPostMessage, 436
WSA_QOS_NO_SENDERS, QOS notifications, 369
WSA_QOS_REQUEST_CONFIRMED, QOS notifications, 369
WSA_QOS_SENDERS, QOS notifications, 369
WSAAccept, 14, 350-51
WSAAsyncGetHostByAddr, 75-76
WSAAsyncGetHostByName, 75-76
WSAAsyncGetServByName, 77
WSAAsyncGetServByPort, 77
WSAAsyncSelect model, 133-39
LSPs and, 433-36
message notification, 134-39
network event types, 135
overview, 133-34
performance comparisons, 195, 197
WSACancelAsyncRequest, 77
WSACleanup, 4
WSAConnect
functions of, 350
QOS and, 349-50
Winsock client API functions, 19
WSACreateEvent, 139
WSADuplicateSocket, 38-39
WSAENOBUFS error, 190, 192
WSAEnumNameSpaceProviders, 277-78
WSAEnumNetworkEvents, 142-43
WSAEnumProtocols, 51-52
WSAEventSelect model, 140, 188
event notification, 139-47
LSPs and, 436
overview, 139
performance comparisons of, 195, 197-98
WSAEWOULDBLOCK errors, 128, 191
WSAGetLastError, 4-6
WSAGetQOSByName, 369
WSAInstallServiceClass, 279-81
WSAIoctl
calling ioctl commands, 253
definition and parameters, 252
IP multicasting and, 324-26
QOS and, 352-53
WSAJoinLeaf
ATM multipoint and, 335-36
IP multicasting and, 326-27
QOS and, 351-52
WSALookupServiceBegin, 290, 292
WSALookupServiceEnd, 290
WSALookupServiceNext, 290, 292
WSANAMESPACE_INFO structure, 278
WSANETWORKEVENTS structure, 143
WSANSPIoctl, 253
WSAOVERLAPPED structure, 148-54, 437-38
WSAPROTOCOL_INFO structure, 52
WSAPROTOCOL_INFOW structure, 406
WSAQUERYSET structure, 285-87, 290-92
WSARecv, 24-26
WSARecvDisconnect, 26
WSARecvFrom, 31-32
WSARecvMsg, 185-86
defined, 185
flags, 186
parameters of, 185-86
WSASend, 22-23
WSASendDisconnect, 23-24
WSASendTo, 34-36
WSASetService, 283-87
WSASocket, 383
WSAStartup, 2-4
WSAStringToAddress, 73-74
WSAWaitForMultipleEvents, 140-42
WSCDeinstallProvider, 412
WSCEnableNSProvider, 447
WSCInstallNameSpace, 446-47
WSCInstallProvider, 408-11
defined, 408-9
parameters of, 410-11
WSCUnInstallNameSpace, 447
WSCUpdateProvider, 413
WSPAddressToString, 443
WSPGetSockOpt, 442
WSPIoctl, 443
WSPJoinLeaf, 443
WSPSelect model, 429-33
WSPSetSockOpt, 443
WSPSocket, 419
WSPStartup, 414-19
calling behavior, 415
tasks performed by, 416
WSPStringToAddress, 443
X
XML (Extensible Markup Language), 463
Last Updated: January 28, 2002
|