This message is sent to a waveform input device driver to request the driver to prepare a data block for input. If data blocks are accessed at interrupt time, they must be page locked to ensure that the memory is not swapped out to disk.
DWORD dwParam1
Specifies a far pointer to WAVEHDR structure identifying the data block.
DWORD dwParam2
Specifies the size of the WAVEHDR structure.
The return value is an error code, or zero (MMSYSERR_NOERROR) if the operation is successful. Possible error codes are:
MMSYSERR_NOTENABLED
The driver failed to load or initialize.
MMSYSERR_NOTSUPPORTED
The driver does not support this message.
Driver support for this message is optional. If a driver supports this message, then it must also support WIDM_UNPREPARE.
The default response for this message is to return MMSYSERR_NOTSUPPORTED. In this case, MMSYSTEM will page lock the memory for the driver. If a driver requires other operations to prepare a data block for playback, it should set the WHDR_PREPARED bit in the dwFlags field of the WAVEHDR structure and return MMSYSERR_NOERROR. In this case, MMSYSTEM assumes the driver has prepared the data block and does not page lock the memory. If a data block has already been prepared, MMSYSERR_NOERROR should be returned.