LPWSPGETQOSBYNAME 回调函数 (ws2spi.h)

WSPGetQOSByName 函数基于命名模板初始化 QOS 结构,或检索可用模板名称的枚举。

语法

LPWSPGETQOSBYNAME Lpwspgetqosbyname;

BOOL Lpwspgetqosbyname(
  [in]      SOCKET s,
  [in, out] LPWSABUF lpQOSName,
  [out]     LPQOS lpQOS,
  [out]     LPINT lpErrno
)
{...}

参数

[in] s

标识套接字的描述符。

[in, out] lpQOSName

指定 QOS 模板名称,或提供缓冲区以检索可用模板名称的枚举。

[out] lpQOS

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

[out] lpErrno

指向错误代码的指针。

返回值

如果函数成功,则返回值为 TRUE。 如果函数失败,则返回值为 FALSE,并且 lpErrno 中提供了特定的错误代码。

错误代码 含义
WSAENETDOWN
网络子系统失败。
WSAENOTSOCK
:描述符不是套接字。
WSAENOTSOCK
lpQOS 参数不是用户地址空间的有效部分,或者 lpQOS 的缓冲区长度太小。
WSAEINVAL
指定的 QOS 模板名称无效。

注解

客户端可以使用 WSPGetQOSByNameQOS 结构初始化为适用于特定服务类或媒体类型的一组已知值。 这些值存储在由已知名称引用的模板中。 客户端可以通过将 lpQOSName 指示的 WSABUFbuf 成员设置为指向指定模板名称的非零长度 Unicode 字符串来检索这些值。 在这种情况下, lpQOSName 的用法仅为 IN,并且结果通过 lpQOS 返回。

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

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 ws2spi.h

另请参阅

LPWSPAccept

LPWSPConnect

LPWSPGetSockopt