// ksmedia.h
typedef struct {
UINT64 u64PositionInBlocks;
UINT64 u64QPCPosition;
} KSAUDIO_PRESENTATION_POSITION, *PKSAUDIO_PRESENTATION_POSITION;
View the official Windows Driver Kit DDI referenceNo description available.
The KSAUDIO_PRESENTATION_POSITION structure specifies the current cursor position in audio data stream that is being rendered to the endpoint.
u64PositionInBlocksSpecifies the block offset from the start of the stream to the current post-decoded, uncompressed position in the stream. A "block" refers to the group of channels in the same sample. So, for example, in a PCM stream a block is the same as a frame. However, for compressed formats a block is a single sample within a frame. This means that for a typical MP3 stream that has 1152 samples in a frame, there are 1152 blocks.
u64QPCPositionSpecifies the value of the performance counter at the time that the audio driver reads the presentation position in response to the KSAUDIO_PRESENTATION_POSITION call. A driver writes to this field with the value read from calling KeQueryPerformanceCounter when a snapshot is taken of the presentation position.
KSAUDIO_PRESENTATION_POSITION
KSPROPERTY_AUDIO_PRESENTATION_POSITION