NetRingGetAllFragments function

Warning

Some information in this topic relates to prereleased product, which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

NetAdapterCx is preview only in Windows 10, version 1903.

The NetRingGetAllFragments method gets a fragment iterator for the entire range that a client driver owns in a fragment ring.

Syntax

NET_RING_FRAGMENT_ITERATOR NetRingGetAllFragments(
  NET_RING_COLLECTION const *Rings
);

Parameters

Rings

A pointer to the NET_RING_COLLECTION struture that describes the packet queue's net rings.

Return Value

Returns a NET_RING_FRAGMENT_ITERATOR that begins at the fragment ring's BeginIndex and ends at the fragment ring's EndIndex. In other words, the iterator covers both the ring's post subsection and its drain subsection, or all fragments in the ring that the driver currently owns.

Remarks

Client drivers typically call NetRingGetAllFragments to begin performing operations on all fragments that they own in a fragment ring. This might include processing a batch of receives that span all available fragments in the ring, or draining the ring during data path cancellation.

For a code example of using this method, see Net rings and net ring iterators.

Requirements

   
Minimum KMDF version 1.29
Header netringiterator.h
IRQL Any level as long as target memory is resident

See Also

Net rings and net ring iterators

NET_RING_COLLECTION

NET_RING_FRAGMENT_ITERATOR