Stream Pointers and Offsets

A KSSTREAM_POINTER structure contains two KSSTREAM_POINTER_OFFSET structures that index input and output positions within a frame. A minidriver can either manipulate these offsets or access the data at frame resolution.

To advance a stream pointer within a frame, the minidriver calls KsStreamPointerAdvanceOffsets and KsStreamPointerAdvanceOffsetsAndUnlock.

Minidrivers that access stream data with virtual addresses can use these offsets to specify a stream position at byte resolution. Minidrivers that use scatter/gather physical mappings can specify stream position at the granularity of a KSMAPPING structure.