Platform SDK: Quality of Service |
The QOS WSPGetQOSByName function initializes a QOS structure based on a named template, or retrieves an enumeration of the available template names.
BOOL WSAAPI WSPGetQOSByName ( SOCKET s, LPWSABUF lpQOSName, LPQOS lpQOS, LPINT lpErrno );
If WSPGetQOSByName succeeds, the return value is TRUE. If the function fails, the return value is FALSE. Error information is available in lpErrno.
The algorithm that WSPGetQOSByName applies in its search for a template's name match is:
Applications can use this function to initialize a QOS structure with a prescribed set of known values appropriate for a particular service class or media type. These known values are stored in a template, and the template is referenced by a well-known name. Applications can retrieve these values by setting the buf member of WSABUF, indicated by lpQOSName, to point to a string of nonzero length specifying a template name. When doing so, lpQOSName is an [in] parameter only, and results are returned through lpQOS.
This function can also be used to retrieve an enumeration of available template names. This is done by setting the buf member of WSABUF, indicated by lpQOSName, to a zero-length, null-terminated Unicode string. The buffer indicated by buf is then overwritten with a sequence of as many null-terminated Unicode template names as are available—up to the number of bytes available in buf, as provided by the len member of WSABUF. The list of names itself is terminated by a zero-length Unicode name string. When WSPGetQOSByName is used to retrieve template names, the lpQOS parameter is ignored.
Error Code | Meaning |
---|---|
WSAENETDOWN | The network subsystem has failed. |
WSAENOTSOCK | The descriptor is not a socket. |
WSAEFAULT | The lpQOSName or lpQOS parameter is not a valid part of the user address space. |
WSAENOBUFS | The buffer length for lpQOS is too small. |
WSA_NODATA | The specified QOS template name is invalid. |
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 98.
Header: Declared in Ws2spi.h.
QOS, WPUGetQOSTemplate, WSABUF, WSCInstallQOSTemplate, WSCRemoveQOSTemplate