The NET_BUFFER_LIST_RECEIVE_QUEUE_ID macro sets or gets the identifier of a virtual machine queue (VMQ) or single root I/O virtualization (SR-IOV) receive queue identifier within the out-of-band (OOB) data of a NET_BUFFER_LIST structure.
For the SR-IOV interface, the receive queue is created on a default or nondefault virtual port (VPort). Starting with Windows Server 2012, only the default receive queue of a VPort is supported.
void NET_BUFFER_LIST_RECEIVE_QUEUE_ID( _NBL );
A pointer to a NET_BUFFER_LIST structure.
NET_BUFFER_LIST_RECEIVE_QUEUE_ID returns a USHORT value for a receive queue identifier.
Any NDIS 6.20 or later driver can use NET_BUFFER_LIST_RECEIVE_QUEUE_ID to set or get the receive queue identifier from a NET_BUFFER_LIST structure. NET_BUFFER_LIST_RECEIVE_QUEUE_ID accesses the receive queue identifier from the QueueId member of the NDIS_NET_BUFFER_LIST_FILTERING_INFO structure.
When a VMQ is deleted (for example, during VM live migration), it is possible for the miniport driver to receive an NBL that contains an invalid QueueId value. If this happens, the miniport should ignore the invalid queue ID and use 0 (the default queue) instead. The QueueId is found in the NetBufferListFilteringInfo portion of the NBL's OOB data, and is retrieved by using the NET_BUFFER_LIST_RECEIVE_QUEUE_ID macro.
|Minimum supported client||Supported in NDIS 6.20 and later.|