PRB: waveInMessage or waveOutMessage return MMSYSERR_INVALPARAM
Article ID: 180580
Article Last Modified on 7/11/2005
APPLIES TO
- Microsoft Platform Software Development Kit-January 2000 Edition, when used with:
This article was previously published under Q180580
SYMPTOMS
When you call waveInMessage or waveOutMessage, you may receive an error
code MMSYSERR_INVALPARAM, as defined in mmsystem.h.
CAUSE
Mmsystem performs range checking on the uMsg parameter passed to
waveInMessage or waveOutMessage. If uMsg is not within the valid range for
an IOCTL or MAPPER message, the function will fail.
The range checking is performed as follows:
if ((uMsg < DRVM_IOCTL) || (uMsg >= DRVM_IOCTL_LAST) && (uMsg <
DRVM_MAPPER))
return MMSYSERR_INVALPARAM;
DRVM_IOCTL, DRVM_IOCTL_LAST, and DRVM_MAPPER are defined in mmddk.h.
RESOLUTION
When you call waveInMessage or waveOutMessage, make sure that the uMsg
parameter is a valid IOCTL or MAPPER message.
STATUS
This behavior is by design.
REFERENCES
Win32 Software Development Kit for Windows 95 and Windows NT:
waveInMessage; waveOutMessage
Windows 95 Device Driver Kit: multimedia drivers
Keywords: kbprb KB180580