midiOutOpen
The midiOutOpen
function opens a MIDI output device for playback.
UINT midiOutOpen(
LPHMIDIOUT
lphmo, |
|
UINT uDeviceID, |
|
DWORD dwCallback, |
|
DWORD dwCallbackInstance, |
|
DWORD dwFlags |
|
); |
|
Parameters
lphmo
Address of an
HMIDIOUT handle. This location is filled with a handle identifying the
opened MIDI output device. The handle is used to identify the device in calls
to other MIDI output functions.
uDeviceID
Identifier of
the MIDI output device that is to be opened.
dwCallback
Address of a
callback function, an event handle, a thread identifier, or a handle of a
window or thread called during MIDI playback to process messages related to the
progress of the playback. If no callback is desired, specify NULL for this
parameter. For more information on the callback function, see MidiOutProc
dwCallbackInstance
User instance
data passed to the callback. This parameter is not used with window callbacks
or threads.
dwFlags
Callback flag
for opening the device. It can be the following values:
CALLBACK_EVENT
The dwCallback
parameter is an event handle. This callback mechanism is for output only.
CALLBACK_FUNCTION
The dwCallback
parameter is a callback function address.
CALLBACK_NULL
There is no
callback mechanism. This value is the default setting.
CALLBACK_THREAD
The dwCallback
parameter is a thread identifier.
CALLBACK_WINDOW
The dwCallback
parameter is a window handle.
Return Values
Returns
MMSYSERR_NOERROR if successful or an error otherwise. Possible error values
include the following:
MIDIERR_NODEVICE |
No MIDI
port was found. This error occurs only when the mapper is opened. |
MMSYSERR_ALLOCATED |
The
specified resource is already allocated. |
MMSYSERR_BADDEVICEID |
The
specified device identifier is out of range. |
MMSYSERR_INVALPARAM |
The
specified pointer or structure is invalid. |
MMSYSERR_NOMEM |
The system
is unable to allocate or lock memory. |
Remarks
To determine
the number of MIDI output devices present in the system, use the midiOutGetNumDevs
If a window
or thread is chosen to receive callback information, the following messages are
sent to the window procedure or thread to indicate the progress of MIDI output:
MM_MOM_OPEN, MM_MOM_CLOSE, and MM_MOM_DONE.
If a function
is chosen to receive callback information, the following messages are sent to
the function to indicate the progress of MIDI output: MOM_OPEN, MOM_CLOSE, and
MOM_DONE.
See Also