WSAGetQOSByName 函数 (winsock2.h)

WSAGetQOSByName 函数基于命名模板初始化 QOS 结构,或者提供缓冲区来检索可用模板名称的枚举。

语法

BOOL WSAAPI WSAGetQOSByName(
  [in]      SOCKET   s,
  [in, out] LPWSABUF lpQOSName,
  [out]     LPQOS    lpQOS
);

参数

[in] s

标识套接字的描述符。

[in, out] lpQOSName

指向特定服务质量模板的指针。

[out] lpQOS

指向要填充的 QOS 结构的指针。

返回值

如果 WSAGetQOSByName 成功,则返回值为 TRUE。 如果函数失败,则返回值为 FALSE。 若要获取扩展错误信息,请调用 WSAGetLastError

错误代码 含义
WSANOTINITIALIZED
在使用此函数之前,必须成功调用 WSAStartup
WSAENETDOWN
网络子系统发生故障。
WSAENOTSOCK
:描述符不是套接字。
WSAEFAULT
lpQOSNamelpQOS 参数不是用户地址空间的有效部分,或者 lpQOS 的缓冲区长度太小。

注解

应用程序使用 WSAGetQOSByName 函数将 QOS 结构初始化为适用于特定服务类或媒体类型的一组已知值。 这些值存储在由已知名称引用的模板中。 客户端可以通过设置 lpQOSName 指示的 WSABUF 结构的 buf 参数来检索这些值,该结构指向指定模板名称的非零长度字符串。 在这种情况下, lpQOSName 的使用仅为 IN,结果通过 lpQOS 返回。

或者,客户端可以使用此函数检索可用模板名称的枚举。 客户端可以通过将 lpQOSName 指示的 WSABUFbuf 参数设置为零长度 null 结尾的字符串来执行此操作。 在这种情况下,buf 所指示的缓冲区将被覆盖的一系列可用、以 null 结尾的模板名称,最大到 buf 中可用的字节数,如 lpQOSName 所指示的 WSABUFlen 参数所指示。 名称列表本身以零长度名称结尾。 使用 WSAGetQOSByName 函数检索模板名称时, 将忽略 lpQOS 参数。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winsock2.h
Library Ws2_32.lib
DLL Ws2_32.dll

另请参阅

Qos

WSAAccept

WSAConnect

Winsock 函数

Winsock 参考

getsockopt