TcEnumerateInterfaces 函数 (traffic.h)

TcEnumerateInterfaces 函数枚举所有启用了流量控制的网络接口。 通过 ClNotifyHandler 函数通知客户端接口更改。

语法

ULONG TcEnumerateInterfaces(
  [in]      HANDLE             ClientHandle,
  [in, out] PULONG             pBufferSize,
  [out]     PTC_IFC_DESCRIPTOR InterfaceBuffer
);

参数

[in] ClientHandle

流量控制用于标识客户端的句柄。 客户端在通过 TcRegisterClient 函数注册流量控制时接收句柄。

[in, out] pBufferSize

指向指示缓冲区大小的值的指针。 对于输入,此值是调用方分配的缓冲区大小(以字节为单位)。 对于输出,此值是流量控制使用或所需的缓冲区的实际大小(以字节为单位)。 输出上的值为零表示没有可用的流量控制接口,表示未安装 QOS 数据包计划程序。

[out] InterfaceBuffer

指向包含返回的接口描述符列表的缓冲区的指针。

返回值

成功完成将返回接口的设备名称。

返回代码 说明
NO_ERROR
执行函数时未出错。
ERROR_INVALID_HANDLE
客户端句柄无效。
ERROR_INVALID_PARAMETER
其中一个参数为 NULL
ERROR_INSUFFICIENT_BUFFER
缓冲区太小,无法枚举所有接口。 如果返回此错误,) 缓冲区大小所需的正确 (将在 pBufferSize 中传递回。
ERROR_NOT_ENOUGH_MEMORY
系统内存不足。

注解

调用 TcEnumerateInterfaces 函数的 客户端必须先分配缓冲区,然后通过 InterfaceBuffer 将该缓冲区传递到流量控制。 流量控制返回指向 InterfaceBuffer 中接口描述符数组的指针。 每个接口描述符都包含两个元素:

  • 流量控制接口的标识文本字符串。
  • 当前与 接口关联的网络地址列表描述符。
网络地址列表描述符包括媒体类型以及网络地址列表。 媒体类型确定应如何解释网络地址列表:
  • 对于无连接媒体(如 LAN),网络地址列表包含与接口关联的所有特定于协议的地址。
  • 对于面向连接的媒体(如 WAN),网络地址列表包含偶数的网络地址:
    • 每对中的第一个地址表示接口的本地 (源) 地址。
    • 每对中的第二个地址表示接口的远程 (目标) 地址。
注意 使用 TcEnumerateInterfaces 函数需要管理权限。
 

要求

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

另请参阅

ClNotifyHandler

TcRegisterClient