The WIDM_GETPOS message requests a waveform input driver to return the current input position within a waveform. The input position is relative to the first recorded sample 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 waveInGetPos return values in the Win32 SDK.
A client sends the WIDM_GETPOS message by calling the user-mode driver’s widMessage 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.
Typically, the user-mode driver calls DeviceIoControl to send the kernel-mode driver an IOCTL_WAVE_GET_POSITION control code.