The midiStreamPosition function retrieves the current position in a MIDI stream.

MMRESULT midiStreamPosition(
  HMIDISTRM hms,  
  LPMMTIME pmmt,  
  UINT cbmmt      



Handle to a MIDI stream. This handle must have been returned by a call to the midiStreamOpen function. This handle identifies the output device.


Pointer to an MMTIME structure.


Size, in bytes, of the MMTIME structure.

Return Values

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following.

Value Description
MMSYSERR_INVALHANDLE Specified device handle is invalid.
MMSYSERR_INVALPARAM Specified pointer or structure is invalid.


Before calling midiStreamPosition, set the wType member of the MMTIME structure to indicate the time format you desire. After calling midiStreamPosition, check the wType member to determine if the desired time format is supported. If the desired format is not supported, wType will specify an alternative format.

The position is set to zero when the device is opened or reset.


**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.
**  Header:** Declared in Mmsystem.h; include Windows.h.
**  Library:** Use Winmm.lib.

See Also

Musical Instrument Digital Interface (MIDI), MIDI Functions, midiStreamOpen, MMTIME