The WODM_GETPOS message requests a waveform output driver to return the current input position within a waveform. The input position is relative to the beginning of the waveform.
The driver should return MMSYSERR_NOERROR if the operation succeeds. Otherwise it should return one of the MMSYSERR or WAVERR error codes defined in mmsystem.h. See waveOutGetPos return values in the Win32 SDK.
A client sends the WODM_GETPOS message by calling the user-mode driver’s wodMessage entry point, passing the specified parameters.
The wType member of the MMTIME structure indicates the time format requested by the client. If the driver cannot support the requested format, it should return the position in a format that it does support, and change the wType member accordingly.
The position should be reset to zero when the driver receives a WODM_OPEN or WODM_RESET message.
Typically, the user-mode driver calls DeviceIoControl to send the kernel-mode driver an IOCTL_WAVE_GET_POSITION control code.