查询数据包合并接收筛选器
过分的驱动程序和应用程序可以通过执行以下操作来查询已下载到微型端口驱动程序的数据包合并接收筛选器:
通过发出 OID_RECEIVE_FILTER_ENUM_FILTERS 的 OID 方法请求,请求微型端口驱动程序上的接收筛选器的枚举列表。 有关详细信息,请参阅 枚举微型端口驱动程序上的接收筛选器。
通过发出 OID_RECEIVE_FILTER_PARAMETERS 的 OID 方法请求,请求微型端口驱动程序上的接收筛选器的测试条件参数。 有关详细信息,请参阅 查询微型端口驱动程序上的接收筛选器
NDIS 处理微型端口驱动程序 的OID_RECEIVE_FILTER_ENUM_FILTERS 和 OID_RECEIVE_FILTER_PARAMETERS 方法 OID 请求。 NDIS 从从 OID_RECEIVE_FILTER_SET_FILTER OID 请求接收的数据的内部缓存中获取信息。
枚举微型端口驱动程序上的接收筛选器
若要获取已下载到微型端口驱动程序的所有数据包合并接收筛选器的列表,过分的驱动程序和应用程序会发出 OID_RECEIVE_FILTER_ENUM_FILTERS的 OID 方法请求。 NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_RECEIVE_FILTER_INFO_ARRAY 结构的指针。
注意 当过度的驱动程序或应用程序初始化 NDIS_RECEIVE_FILTER_INFO_ARRAY 结构时,它必须将 QueueId 成员设置为NDIS_DEFAULT_RECEIVE_QUEUE_ID。
从 OID 方法请求成功返回后,NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向缓冲区的指针。 此缓冲区的格式设置为包含以下内容:
一个NDIS_RECEIVE_FILTER_INFO_ARRAY结构,它指定当前在微型端口驱动程序上配置的接收筛选器的列表。
有关当前在微型端口驱动程序上配置的接收筛选器的 NDIS_RECEIVE_FILTER_INFO 结构的数组。
查询微型端口驱动程序上的接收筛选器的参数
若要获取下载到微型端口驱动程序的特定数据包合并接收筛选器的参数,过分的驱动程序或应用程序会发出 OID_RECEIVE_FILTER_PARAMETERS的 OID 方法请求。 NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向NDIS_RECEIVE_FILTER_PARAMETERS结构的指针。 过度分配的驱动程序或应用程序通过将 FilterId 成员设置为要返回其参数的筛选器的非零 ID 值来初始化NDIS_RECEIVE_FILTER_PARAMETERS结构。
注意overlying 驱动程序从 OID_RECEIVE_FILTER_SET_FILTER 或 OID_RECEIVE_FILTER_ENUM_FILTERS 的早期 OID 方法请求中获取了筛选器 ID。 应用程序只能从 OID_RECEIVE_FILTER_ENUM_FILTERS 的早期 OID 方法请求中获取筛选器 ID。
从 OID 方法请求成功返回后,NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向缓冲区的指针。 此缓冲区的格式设置为包含以下内容:
一个NDIS_RECEIVE_FILTER_PARAMETERS结构,用于指定 NDIS 接收筛选器的参数。
NDIS_RECEIVE_FILTER_FIELD_PARAMETERS结构的数组,这些结构指定网络数据包标头中一个字段的筛选器测试条件。