NDIS_STATUS_RECEIVE_QUEUE_STATE

The NDIS_STATUS_RECEIVE_QUEUE_STATE status indicates to overlying drivers that the queue state of a virtual machine queue (VMQ) receive queue has changed.

Remarks

NDIS 6.20 and later miniport drivers that support the virtual machine queue interface generate this status indication.

The miniport driver supplies an NDIS_RECEIVE_QUEUE_STATE structure in the StatusBuffer member of the NDIS_STATUS_INDICATION structure.

The change to the DMA Stopped state is the only queue state change indication that is required. A miniport driver must indicate this state after it receives an OID_RECEIVE_FILTER_FREE_QUEUE set request and stops the DMA. In this case, the miniport driver sets the QueueState member of the NDIS_RECEIVE_QUEUE_STATE structure to NdisReceiveQueueOperationalStateDmaStopped.

After the miniport driver receives the OID_RECEIVE_FILTER_FREE_QUEUE set request, it must stop DMA to any shared memory that was allocated for the specified queue.

If the miniport driver stopped the DMA for some other reason (for example, it freed the last filter on a queue), the queue should not enter the DMA Stopped state. However, the DMA can be stopped in the Paused or Running states if there are no filters set on the queue.

Requirements

Version

Supported in NDIS 6.20 and later.

Header

Ndis.h

See also

NDIS_RECEIVE_QUEUE_STATE

NDIS_STATUS_INDICATION

OID_RECEIVE_FILTER_FREE_QUEUE