NDIS_STATUS_RECEIVE_QUEUE_STATE

NDIS_STATUS_RECEIVE_QUEUE_STATE状态向过度的驱动程序指示虚拟机队列 (VMQ) 接收队列的队列状态已更改。

注解

支持虚拟机队列接口的 NDIS 6.20 和更高版本的微型端口驱动程序会生成此状态指示。

微型端口驱动程序在 NDIS_STATUS_INDICATION 结构的 StatusBuffer 成员中提供 NDIS_RECEIVE_QUEUE_STATE 结构。

更改 DMA 已停止 状态是唯一必需的队列状态更改指示。 微型端口驱动程序必须在收到 OID_RECEIVE_FILTER_FREE_QUEUE 集请求并停止 DMA 后指示此状态。 在这种情况下,微型端口驱动程序将 NDIS_RECEIVE_QUEUE_STATE 结构的 QueueState 成员设置为 NdisReceiveQueueOperationalStateDmaStopped

微型端口驱动程序收到 OID_RECEIVE_FILTER_FREE_QUEUE 集请求后,必须停止为指定队列分配的任何共享内存的 DMA。

如果微型端口驱动程序由于其他原因而停止了 DMA, (例如,它释放了队列) 上的最后一个筛选器,则队列不应进入 “DMA 已停止” 状态。 但是,如果没有在队列上设置筛选器,则 DMA 可以在 “已暂停 ”或“ 正在运行 ”状态下停止。

要求

版本

在 NDIS 6.20 及更高版本中受支持。

标头

Ndis.h

另请参阅

NDIS_RECEIVE_QUEUE_STATE

NDIS_STATUS_INDICATION

OID_RECEIVE_FILTER_FREE_QUEUE