过度的驱动程序发出 OID 方法请求OID_RECEIVE_FILTER_PARAMETERS以获取网络适配器上的筛选器的当前配置参数。
NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_RECEIVE_FILTER_PARAMETERS 结构的指针。 NDIS 使用输入结构中的 FilterId 成员来标识筛选器。
从 OID 方法请求成功返回后,InformationBufferNDIS_OID_REQUEST 结构的成员包含指向缓冲区的指针。 此缓冲区的格式设置为包含以下内容:
指定 NDIS 接收筛选器的参数的 NDIS_RECEIVE_FILTER_PARAMETERS 结构。
一个由 NDIS_RECEIVE_FILTER_FIELD_PARAMETERS 结构构成的数组,该数组指定网络数据包标头中字段的筛选器测试条件。
言论
NDIS 接收筛选器用于以下 NDIS 接口:
NDIS 数据包合并。 有关如何在此接口中使用接收筛选器的详细信息,请参阅 管理数据包合并接收筛选器。
单根 I/O 虚拟化(SR-IOV)。 有关如何在此接口中使用接收筛选器的详细信息,请参阅 在虚拟端口上设置接收筛选器。
虚拟机队列(VMQ)。 有关如何在此接口中使用接收筛选器的详细信息,请参阅 设置和清除 VMQ 筛选器。
过度应用驱动程序发出OID_RECEIVE_FILTER_PARAMETERS的 OID 方法请求,以获取在网络适配器上设置的接收筛选器的配置参数。 这包括在 VMQ 接收队列或 SR-IOV 虚拟端口(VPort)上设置的接收筛选器,以及下载到微型端口驱动程序的数据包合并筛选器。
过度分配的驱动程序从先前的 OID 方法请求 OID_RECEIVE_FILTER_SET_FILTER 或 OID_RECEIVE_FILTER_ENUM_FILTERS的 OID 请求中获取了筛选器标识符。
返回状态代码
NDIS 处理微型端口驱动程序OID_RECEIVE_FILTER_PARAMETERS的 OID 请求,并返回以下状态代码之一:
NDIS_STATUS_SUCCESS
请求成功完成。
InformationBuffer 指向 NDIS_RECEIVE_FILTER_PARAMETERS 结构。
NDIS_STATUS_PENDING
请求正在等待完成。 NDIS 将最终状态代码和结果传递到请求完成后调用方 OID 请求完成处理程序。
NDIS_STATUS_INVALID_PARAMETER
过度的驱动程序或应用程序提供了无效的筛选器标识符。 如果筛选器标识符为零或指定未定义的筛选器,则筛选器标识符无效。
NDIS_STATUS_INVALID_LENGTH
信息缓冲区太短。 NDIS 设置 数据。QUERY_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。
NDIS_STATUS_FAILURE
由于其他原因,请求失败。
要求
版本 |
NDIS 6.20 及更高版本中受支持。 |
页眉 |
Ntddndis.h (包括 Ndis.h) |
另请参阅
OID_RECEIVE_FILTER_ENUM_FILTERS