midiInOpen
The midiInOpen
function opens a specified MIDI input device.
MMRESULT midiInOpen(
LPHMIDIIN lphMidiIn, |
|
UINT uDeviceID, |
|
DWORD dwCallback, |
|
DWORD dwCallbackInstance, |
|
DWORD dwFlags |
|
); |
|
Parameters
lphMidiIn
Address of an
HMIDIIN handle. This location is filled with a handle identifying the
opened MIDI input device. The handle is used to identify the device in calls to
other MIDI input functions.
uDeviceID
Identifier of
the MIDI input device to be opened.
dwCallback
Address of a
callback function, a thread identifier, or a handle of a window called with
information about incoming MIDI messages. For more information on the callback
function, see MidiInProc
dwCallbackInstance
User instance
data passed to the callback function. This parameter is not used with window
callback functions or threads.
dwFlags
Callback flag
for opening the device and, optionally, a status flag that helps regulate rapid
data transfers. It can be the following values:
CALLBACK_FUNCTION
The dwCallback
parameter is a callback procedure 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.
MIDI_IO_STATUS
When this
parameter also specifies CALLBACK_FUNCTION, MIM_MOREDATA
Most
applications that use a callback mechanism will specify CALLBACK_FUNCTION for
this parameter.
Return Values
Returns
MMSYSERR_NOERROR if successful or an error otherwise. Possible error values
include the following:
MMSYSERR_ALLOCATED |
The
specified resource is already allocated. |
MMSYSERR_BADDEVICEID |
The
specified device identifier is out of range. |
MMSYSERR_INVALFLAG |
The flags
specified by dwFlags are invalid. |
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 input devices present in the system, use the midiInGetNumDevs
function. The device identifier specified by wDeviceID varies from zero
to one less than the number of devices present.
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 input:
MM_MIM_OPEN, MM_MIM_CLOSE, MM_MIM_DATA, MM_MIM_LONGDATA, MM_MIM_ERROR,
MM_MIM_LONGERROR, and MM_MIM_MOREDATA.
If a function
is chosen to receive callback information, the following messages are sent to
the function to indicate the progress of MIDI input: MIM_OPEN, MIM_CLOSE,
MIM_DATA, MIM_LONGDATA, MIM_ERROR, MIM_LONGERROR, and MIM_MOREDATA.
See Also