PRB: waveInMessage or waveOutMessage return MMSYSERR_INVALPARAM (180580)



The information in this article applies to:

  • Microsoft Platform Software Development Kit (SDK) 1.0, when used with:
    • Microsoft Windows 95

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

Modification Type:MinorLast Reviewed:7/11/2005
Keywords:kbprb KB180580