筛选模块状态指示

筛选器驱动程序可以提供 NDIS 在基础驱动程序报告状态时调用的 FilterStatus 函数。 筛选器驱动程序还可以启动状态指示。

下图演示了筛选的状态指示。

筛选状态指示图表。

在基础驱动程序调用状态指示函数(NdisMIndicateStatusEx 或 NdisFIndicateStatus)后,NDIS 调用筛选器驱动程序的 FilterStatus 函数。 有关如何从微型端口驱动程序指示状态的详细信息,请参阅 适配器状态指示

筛选器驱动程序在其 FilterStatus 函数中调用 NdisFIndicateStatus,以将筛选的状态指示传递给过度分配的驱动程序。 筛选器驱动程序可以在调用 NdisFIndicateStatus 之前筛选掉状态指示(通过不调用 NdisFIndicateStatus)或修改指示的状态。

若要发起状态指示,筛选器驱动程序无需事先调用 FilterStatus 即可调用 NdisFIndicateStatus

在这种情况下,筛选器驱动程序应将 SourceHandle 成员设置为 NDIS 传递给 FilterAttach 函数的 NdisFilterHandle 参数的句柄。 如果状态指示与 OID 请求相关联,筛选器驱动程序可以设置 DestinationHandleRequestId 成员,以便 NDIS 可以为特定协议绑定提供状态指示。

筛选器驱动程序调用 NdisFIndicateStatus 后,NDIS 将调用下一个过度分配驱动程序的状态函数(ProtocolStatusExFilterStatus)。