OID_GEN_STATISTICS
作为查询,NDIS 和过分驱动程序使用 OID_GEN_STATISTICS OID 来获取适配器或微型端口驱动程序的统计信息。
注意:常规统计信息 OID 统计通过网络适配器(包括 网络直接内核 (NDK) 流量)的所有流量。 可以使用 OID_NDK_STATISTICS单独计算 NDK 统计信息。
版本信息
Windows Vista 和更高版本的 Windows
支持。
NDIS_STATISTICS_INFO结构定义如下:
typedef struct _NDIS_STATISTICS_INFO {
NDIS_OBJECT_HEADER Header;
ULONG SupportedStatistics;
ULONG64 ifInDiscards;
ULONG64 ifInErrors;
ULONG64 ifHCInOctets;
ULONG64 ifHCInUcastPkts;
ULONG64 ifHCInMulticastPkts;
ULONG64 ifHCInBroadcastPkts;
ULONG64 ifHCOutOctets;
ULONG64 ifHCOutUcastPkts;
ULONG64 ifHCOutMulticastPkts;
ULONG64 ifHCOutBroadcastPkts;
ULONG64 ifOutErrors;
ULONG64 ifOutDiscards;
ULONG64 ifHCInUcastOctets;
ULONG64 ifHCInMulticastOctets;
ULONG64 ifHCInBroadcastOctets;
ULONG64 ifHCOutUcastOctets;
ULONG64 ifHCOutMulticastOctets;
ULONG64 ifHCOutBroadcastOctets;
} NDIS_STATISTICS_INFO, *PNDIS_STATISTICS_INFO;
此结构包含以下成员:
头
NDIS_STATISTICS_INFO 结构的NDIS_OBJECT_HEADER结构。 将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_DEFAULT,将 Revision 成员设置为 NDIS_STATISTICS_INFO_REVISION_1,并将 Size 成员设置为 NDIS_SIZEOF_STATISTICS_INFO_REVISION_1。
SupportedStatistics
微型端口驱动程序支持的统计信息集。
注意 NDIS 6.0 及更高版本的驱动程序必须支持所有统计信息,并在查询OID_GEN_STATISTICS时报告这些统计信息。
该值是以下标志的按位 OR:
NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_RCV
ifHCInUcastPkts 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_RCV
ifHCInMulticastPkts 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_BROADCAST_FRAMES_RCV
ifHCInBroadcastPkts 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_BYTES_RCV
ifHCInOctets 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_RCV_DISCARDS
ifInDiscards 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_RCV_ERROR
ifInErrors 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_XMIT
ifHCOutUcastPkts 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_XMIT
ifHCOutMulticastPkts 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_BROADCAST_FRAMES_XMIT
ifHCOutBroadcastPkts 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_BYTES_XMIT
ifHCOutOctets 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_XMIT_ERROR
ifOutErrors 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_XMIT_DISCARDS
ifOutDiscards 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_DIRECTED_BYTES_RCV
ifHCInUcastOctets 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_MULTICAST_BYTES_RCV
ifHCInMulticastOctets 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_BROADCAST_BYTES_RCV
ifHCInBroadcastOctets 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_DIRECTED_BYTES_XMIT
ifHCOutUcastOctets 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_MULTICAST_BYTES_XMIT
ifHCOutMulticastOctets 成员中的数据有效。
NDIS_STATISTICS_FLAGS_VALID_BROADCAST_BYTES_XMIT
ifHCOutBroadcastOctets 成员中的数据有效。
ifInDiscards
dropped-receive-buffer 错误计数。 此值与 OID_GEN_RCV_DISCARDS 返回的值相同。
ifInErrors
接收错误计数。 此计数与 OID_GEN_RCV_ERROR 返回的值相同。
ifHCInOctets
接收定向字节计数、接收多播字节计数和接收广播字节计数的总和。 此总和与 OID_GEN_BYTES_RCV 返回的值相同。
ifHCInUcastPkts
接收且未出错的定向数据包数。 此数字与 OID_GEN_DIRECTED_FRAMES_RCV 返回的值相同。
ifHCInMulticastPkts
接收且未出错的多播/功能数据包数。 此数字与 OID_GEN_MULTICAST_FRAMES_RCV 返回的值相同。
ifHCInBroadcastPkts
接收且未出错的广播数据包数。 此数字与 OID_GEN_BROADCAST_FRAMES_RCV 返回的值相同。
ifHCOutOctets
传输定向字节计数、传输多播字节计数和传输广播字节计数的总和。 此总和与 OID_GEN_BYTES_XMIT 返回的值相同。
ifHCOutUcastPkts
传输且未出错的定向数据包数。 此数字与 OID_GEN_DIRECTED_FRAMES_XMIT 返回的值相同。
ifHCOutMulticastPkts
传输且未出错的多播/功能数据包数。 此数字与 OID_GEN_MULTICAST_FRAMES_XMIT 返回的值相同。
ifHCOutBroadcastPkts
传输且未出错的广播数据包数。 此数字与 OID_GEN_BROADCAST_FRAMES_XMIT 返回的值相同。
ifOutErrors
传输错误计数。 此计数与 OID_GEN_XMIT_ERROR 返回的值相同。
ifOutDiscards
接口丢弃的数据包数。 这与查询 OID_GEN_XMIT_DISCARDS OID 返回的值相同。
ifHCInUcastOctets
接收的定向数据包中没有错误的字节数。 此计数与 OID_GEN_DIRECTED_BYTES_RCV 返回的值相同。
ifHCInMulticastOctets
接收的多播/功能数据包中未出错的字节数。 此计数与 OID_GEN_MULTICAST_BYTES_RCV 返回的值相同。
ifHCInBroadcastOctets
接收的广播数据包中没有错误的字节数。 此计数与 OID_GEN_BROADCAST_BYTES_RCV 返回的值相同。
ifHCOutUcastOctets
传输的定向数据包中没有错误的字节数。 此计数与 OID_GEN_DIRECTED_BYTES_XMIT 返回的值相同。
ifHCOutMulticastOctets
在不出错的情况下传输的多播/功能数据包中的字节数。 此计数与 OID_GEN_MULTICAST_BYTES_XMIT 返回的值相同。
ifHCOutBroadcastOctets
传输的广播数据包中没有错误的字节数。 此计数与 OID_GEN_BROADCAST_BYTES_XMIT 返回的值相同。
注解
微型端口驱动程序必须实现统计信息计数器并报告正确的统计信息值。 统计信息计数器是无符号的 64 位值。 微型端口驱动程序返回NDIS_STATISTICS_INFO结构中的统计信息。
要求
标头 |
Ntddndis.h (包括 Ndis.h) |