Waveform Output Driver Messages

This section gives the required and optional messages for waveform output device drivers. See “Audio Device Driver Reference,” later in this chapter, for detailed information on these messages.

The wodMessage entry-point function for waveform output drivers must support the following messages.

Required Messages for Waveform Output Device Drivers

WODM_BREAKLOOP

Breaks a playback loop.

WODM_CLOSE

Closes and deallocates a waveform output device.

WODM_GETDEVCAPS

Requests the capabilities of a waveform output device.

WODM_GETNUMDEVS

Requests the number of waveform output devices a driver supports.

WODM_GETPOS

Requests the current playback position for a waveform.

WODM_OPEN

Opens and allocates a waveform output device.

WODM_PAUSE

Pauses waveform playback on a waveform output device.

WODM_RESET

Stops playback and returns all data blocks to the client application.

WODM_RESTART

Continues playback after playback has been paused.

WODM_WRITE

Sends a data block for playback.

The wodMessage entry-point function for waveform output drivers can optionally support the following messages, depending on the capabilities of the target hardware.

Optional Messages for Waveform Output Device Drivers

WODM_GETPITCH

Requests the current pitch rate setting.

WODM_GETPLAYBACKRATE

Requests the current playback rate setting.

WODM_GETVOLUME

Requests the current volume level setting.

WODM_PREPARE

Requests that the driver prepare a data block for playback.

WODM_SETPITCH

Sets the pitch rate.

WODM_SETPLAYBACKRATE

Sets the playback rate.

WODM_SETVOLUME

Sets the volume level.

WODM_UNPREPARE

Requests that a driver clean up the preparation previously done on a data block.

In addition to receiving messages, drivers must notify clients when certain events occur. Waveform output drivers notify clients by sending one of the following messages using the DriverCallback function.

Client Notification Messages for Waveform Output Drivers

WOM_CLOSE

Notifies a client application when a device is closed.

WOM_DONE

Notifies a client application when the driver is finished with a data block and is returning it to the client.

WOM_OPEN

Notifies a client application when a device is opened.