Поделиться через


Функция midiStreamOpen (mmeapi.h)

Функция midiStreamOpen открывает поток MIDI для вывода. По умолчанию устройство открывается в приостановленном режиме. Дескриптор потока, полученный этой функцией, должен использоваться во всех последующих ссылках на поток.

Синтаксис

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

Параметры

phms

Указатель на переменную, содержащую дескриптор потока при возврате функции.

puDeviceID

Указатель на идентификатор устройства. Устройство открывается от имени потока и закрывается снова при закрытии потока.

cMidi

Защищены; значение должно быть 1.

dwCallback

Указатель на функцию обратного вызова, дескриптор событий, идентификатор потока или дескриптор окна или потока, вызываемого во время воспроизведения MIDI, для обработки сообщений, связанных с ходом воспроизведения. Если механизм обратного вызова не является требуемым, укажите значение NULL для этого параметра.

dwInstance

Данные экземпляра конкретного приложения, которые возвращаются в приложение с каждой функцией обратного вызова.

fdwOpen

Флаг обратного вызова для открытия устройства. Необходимо указать один из следующих флагов обратного вызова.

Значение Значение
CALLBACK_EVENT Параметр dwCallback является дескриптором события. Этот механизм обратного вызова предназначен только для вывода.
CALLBACK_FUNCTION Параметр dwCallback является адресом процедуры обратного вызова. Сигнатуру обратного вызова см. в разделе MidiOutProc.
CALLBACK_NULL Механизм обратного вызова отсутствует. Это параметр по умолчанию.
CALLBACK_THREAD Параметр dwCallback является идентификатором потока.
CALLBACK_WINDOW Параметр dwCallback является дескриптором окна.

Возвращаемое значение

Возвращает MMSYSERR_NOERROR в случае успешного выполнения или ошибку в противном случае. Возможные значения ошибок:

Код возврата Описание
MMSYSERR_BADDEVICEID
Указанный идентификатор устройства выходит за пределы диапазона.
MMSYSERR_INVALPARAM
Данный параметр дескриптора или флага недопустим.
MMSYSERR_NOMEM
Система не может выделить или заблокировать память.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header mmeapi.h (включая Windows.h)
Библиотека Winmm.lib
DLL Winmm.dll

См. также раздел

Функции MIDI