OID_GEN_CO_NETCARD_LOAD
注意
OID_GEN_CO_NETCARD_LOAD与 OID_GEN_NETCARD_LOAD 相同。
OID_GEN_CO_NETCARD_LOAD OID 返回面向连接的微型端口驱动程序的传输系统上的相对负载。 微型端口驱动程序通过计算从协议传输的数据量与实际发送的数据量之间的差异来派生此数字,如 使用 NdisMCoSendComplete 返回到协议的数据包所指示的那样。 结果是微型端口驱动程序中随时未完成的传输数据量。
由于此统计信息以非常高的频率更改,因此微型端口驱动程序端口应对其进行筛选。 最简单的筛选方法是保持未完成传输数据的样本的运行平均值。 例如,每次调用 MiniportCoSendPackets 时,微型端口驱动程序都可以将提交的数据包大小添加到名为 OutstandingBytes 的微型端口驱动程序定义的变量。 每次微型端口驱动程序调用 NdisMCoSendComplete 时,微型端口驱动程序都会从 OutstandingBytes 中减去返回的数据包大小。 微型端口驱动程序还必须维护一个正在运行的平均值,即微型端口驱动程序应为响应OID_GEN_CO_NETCARD_LOAD查询而返回的值。 此变量(可称为 RunningAverage)必须在每个 MiniportCoSendPacket 上更新,如下所示:
RunningAverage = [(RunningAverage * C) + (OutstandingBytes * (128 - C))] / 128;
在本例中,为 1 <C< 128。 C 值越大,筛选越流畅。
要求
版本:Windows Vista 和更高 版本的标头:Ntddndis.h (包括 Ndis.h)