Функция 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 в случае успешного выполнения или ошибку в противном случае. Возможные значения ошибок:
Код возврата | Описание |
---|---|
|
Указанный идентификатор устройства выходит за пределы диапазона. |
|
Данный параметр дескриптора или флага недопустим. |
|
Система не может выделить или заблокировать память. |
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | mmeapi.h (включая Windows.h) |
Библиотека | Winmm.lib |
DLL | Winmm.dll |