midiStreamOpen

The midiStreamOpen function opens a MIDI stream for output. By default, the device is opened in paused mode. The stream handle retrieved by this function must be used in all subsequent references to the stream.

MMRESULT midiStreamOpen(
  LPHMIDISTRM lphStream,  
  LPUINT puDeviceID,      
  DWORD cMidi,            
  DWORD dwCallback,       
  DWORD dwInstance,       
  DWORD fdwOpen           
);
 

Parameters

lphStream
Address of a variable to contain the stream handle when the function returns.
puDeviceID
Address of a device identifier. The device is opened on behalf of the stream and closed again when the stream is closed.
cMidi
Reserved; must be 1.
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 mechanism is desired, specify NULL for this parameter.
dwInstance
Application-specific instance data that is returned to the application with every callback function.
fdwOpen
Callback flag for opening the device. One of the following callback flags must be specified:
CALLBACK_EVENT
The dwCallback parameter is an event handle. This callback mechanism is for output only.
CALLBACK_FUNCTION
The dwCallback parameter is a callback procedure address.
CALLBACK_NULL
There is no callback mechanism. This 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:

Value Description
MMSYSERR_BADDEVICEID The specified device identifier is out of range.
MMSYSERR_INVALPARAM The given handle or flags parameter is invalid.
MMSYSERR_NOMEM The system is unable to allocate or lock memory.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in mmsystem.h.
  Import Library: Use winmm.lib.

See Also

Musical Instrument Digital Interface (MIDI) Overview, MIDI Functions