PRB: waveInMessage or waveOutMessage Return MMSYSERR_INVALPARAM

ID: Q180580

The information in this article applies to:

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

Additional query words:

Keywords          : MMWave 
Version           : WINNT:4.0; WIN95
Platform          : Win95
Issue type        : kbprb

Last Reviewed: April 3, 1998