Platform SDK: Quality of Service

Using WSAIoctl(SIO_SET_QOS) During RSVP Sessions

The use of WSAIoctl(SIO_SET_QOS) is often unnecessary; the use of connection-oriented Windows Sockets function calls (such as the WSAConnect function) is generally sufficient for providing the RSVP SP (and therefore RSVP) with requisite QOS parameters.

One exception is when a UDP application receives from multiple senders, in which case the WSAIoctl(SIO_SET_QOS) function/opcode pair must be used to specify QOS parameters to avoid limiting the socket to receive traffic from a single sender (as the use of a connection-oriented function call such as WSAConnect would do). This is a limitation of Windows Sockets 2.

Another exception is when a UDP transmit uses the sendto function to transmit data to one or more receivers through an unconnected socket (Microsoft® NetMeeting™ version 2.1 is an example of such an application). In this circumstance, the sending application must do the following in order to invoke QOS provisioning:

The WSAIoctl(SIO_SET_QOS) function/opcode pair is also useful for modifying QOS parameters subsequent to the establishment of the connection with a connection-oriented function call. This functionality also enables an application to separate the specification of QOS parameters from the determination of local and peer addresses implicit in making a connection-oriented function call.