Microsoft KB Archive/196360

{|
 * width="100%"|

INFO: NetworkEvents.iErrorCode[FD_QOS_BIT] Is Status

 * }

Q196360

-

The information in this article applies to:


 * Microsoft Win32 Software Development Kit (SDK), used with:
 * Microsoft Windows 98
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Professional

-

SUMMARY
When you write a GQoS-enabled (Generic Quality of Service) Winsock application using WSAEventSelect to receive asynchronous network event notifications, the iErrorCode member of the NetworkEvents variable (returned by WSAEnumNetworkEvents) should be interpreted as a status indicator for FD_QOS event notifications, not as an error indicator.

MORE INFORMATION
Event notifications such as FD_ACCEPT, FD_CONNECT, FD_READ, FD_WRITE, and so forth, return zero in iErrorCode if there is no error. However, iErrorCode always returns a non-zero value for the FD_QOS event notification. The values returned in iErrorCode for FD_QOS are one of the WSA_QOS_xxx status values defined in WinSock2.h. While some of these values can and should be viewed as indicative of an error (for example, WSA_QOS_xxx_ERROR, WSA_QOS_xxx_FAILURE, WSA_QOS_BAD_xxx), others, such as WSA_QOS_REQUEST_CONFIRMED, are merely status indicators.

For example, in a receiving application that has registered for FD_QOS event notification, the status value WSA_QOS_SENDERS is returned in iErrorCode when at least one RSVP PATH message from a sending application has arrived. Additionally, in a sending application that has registered for FD_QOS event notification, the status WSA_QOS_RECEIVERS is returned in iErrorCode when at least one RSVP RESV message has arrived from a receiving application.

NOTE: If an RSVP_OBJECT_STATUS_INFO object is returned in the provider- specific buffer as a result of calling WSAIoctl(...,SIO_GET_QOS,...), the value of the StatusCode member of that structure corresponds to the iErrorCode value.