Hello Matt, Sorry, I've just noticed your reply to my question. Glad to meet you here! > In that case, I think you'd want to do this: > KsStreamPointerAdvanceOffsets(LeadingEdgeStreamPointer,0,12,FALSE) > 4 bytes for the timestamp + 4 bytes for the ByteCount field + 4 bytes > for the MIDI data. Yep, I implemented in similar way, but had to use KsStreamPointerAdvance() instead of AdvanceOffsets(). This worked fine. (The problem was with SysEx data and one unnecessary byte for regular MIDI data). > It's not documented or anything, but it worked for me. Yes. We even sent a request to Microsoft and got some clarifications, but there was a minor issue - additional zeroes sent to the application. It was possible to solve this only by using KsStreamPointerAdvance(). (Strangely, AdvanceOffsets() was supposed to produce the same result, but it did not). Regards, Eugene Gavrilov Software Engineer, CEntrance, Inc. ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/