Функция midiInOpen (mmeapi.h)
Функция midiInOpen открывает указанное устройство ввода MIDI.
Синтаксис
MMRESULT midiInOpen(
LPHMIDIIN phmi,
UINT uDeviceID,
DWORD_PTR dwCallback,
DWORD_PTR dwInstance,
DWORD fdwOpen
);
Параметры
phmi
Указатель на дескриптор HMIDIIN . Это расположение заполняется дескриптором, определяющим открытое устройство ввода MIDI. Дескриптор используется для идентификации устройства в вызовах других входных функций MIDI.
uDeviceID
Идентификатор открываемого устройства ввода MIDI.
dwCallback
Указатель на функцию обратного вызова, идентификатор потока или дескриптор вызываемого окна со сведениями о входящих сообщениях MIDI. Дополнительные сведения о функции обратного вызова см. в разделе MidiInProc.
dwInstance
Данные экземпляра пользователя, передаваемые в функцию обратного вызова. Этот параметр не используется с функциями или потоками обратного вызова окна.
fdwOpen
Флаг обратного вызова для открытия устройства и, при необходимости, флаг состояния, который помогает регулировать быструю передачу данных. Это могут быть следующие значения.
Значение | Значение |
---|---|
CALLBACK_FUNCTION | Параметр dwCallback является адресом процедуры обратного вызова. |
CALLBACK_NULL | Механизм обратного вызова отсутствует. Это значение является параметром по умолчанию. |
CALLBACK_THREAD | Параметр dwCallback является идентификатором потока. |
CALLBACK_WINDOW | Параметр dwCallback является дескриптором окна. |
MIDI_IO_STATUS | Если этот параметр также указывает CALLBACK_FUNCTION, в функцию обратного вызова отправляются MIM_MOREDATA сообщения, а также MIM_DATA сообщения. Или, если этот параметр также указывает CALLBACK_WINDOW, MM_MIM_MOREDATA сообщения отправляются в окно, а также MM_MIM_DATA сообщения. Этот флаг не влияет на обратные вызовы событий или потоков. |
Большинство приложений, использующих механизм обратного вызова, указывают CALLBACK_FUNCTION для этого параметра.
Возвращаемое значение
Возвращает MMSYSERR_NOERROR в случае успешного выполнения или ошибку в противном случае. Возможные значения ошибок:
Код возврата | Описание |
---|---|
|
Указанный ресурс уже выделен. |
|
Указанный идентификатор устройства выходит за пределы диапазона. |
|
Недопустимые флаги, заданные параметром dwFlags . |
|
Указан недопустимый указатель или структура. |
|
Система не может выделить или заблокировать память. |
Комментарии
Чтобы определить количество устройств ввода MIDI, присутствующих в системе, используйте функцию midiInGetNumDevs . Идентификатор устройства, указанный с помощью wDeviceID , варьируется от нуля до одного меньше числа присутствующих устройств.
Если для получения сведений о обратном вызове выбрано окно или поток, в процедуру или поток окна отправляются следующие сообщения для указания хода выполнения входных данных MIDI: MM_MIM_OPEN, MM_MIM_CLOSE, MM_MIM_DATA, MM_MIM_LONGDATA, MM_MIM_ERROR, MM_MIM_LONGERROR и MM_MIM_MOREDATA.
Если функция выбрана для получения сведений о обратном вызове, в нее отправляются следующие сообщения для указания хода выполнения входных данных MIDI: MIM_OPEN, MIM_CLOSE, MIM_DATA, MIM_LONGDATA, MIM_ERROR, MIM_LONGERROR и MIM_MOREDATA.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | mmeapi.h (включая Windows.h) |
Библиотека | Winmm.lib |
DLL | Winmm.dll |